O que são e como utilizar structs
Publicado por Marcos (última atualização em 27/08/2012)
[ Hits: 3.133 ]
Tenho a intenção de passar uma informação básica a respeito das estruturas em C, e desde já ressaltar que para um entendimento mais "profundo" do tema é necessário mergulhar em livros de referência sobre C++.
Uma estrutura pode ser definida como um conjunto de variáveis que são referenciadas por um nome. A este conjunto de variáveis dá-se o nome de "membros da estrutura".
A definição de uma estrutura sempre termina com um ponto e vírgula.
No código abaixo apresento um exemplo simples do uso de estruturas. Crio uma estrutura chamada aluno e que tem como membros as variáveis nome e matrícula. Na sequencia defino uma variável cadastro que é do tipo aluno. Por fim, o programa solicita as informações para cadastrar os alunos e depois imprime todos os cadastros realizados.
Espero que posa ser útil.
#include <stdio.h> #include <stdlib.h> struct aluno{ char nome[31]; int matricula; }; int main(){ int qtde; aluno cadastro[10]; printf("Quantos alunos voce quer informar? "); scanf("%d",&qtde); while(qtde>10){ printf("Quantidade nao permitida, tente novamente...\n\n"); printf("Quantos alunos: "); scanf("%d",&qtde); } //capturando os dados for(int i=0;i<qtde;i++){ printf("\nInforme a matricula %d: ",i); scanf("%d", &cadastro[i].matricula); setbuf(stdin, NULL); //limpar buffer de entrada printf("Digite o nome do aluno %d: ",i); gets(cadastro[i].nome); } //imprimindo os dados for(int i=0;i<qtde;i++){ printf("\nMatricula %d: ",cadastro[i].matricula); printf("\nAluno: %s ",cadastro[i].nome); puts(" "); } return 0; }
Dado determinados números, retorna-os em ordem crescente
Trabalhando com argumentos e ponteiros
primeirafuncao.c - Criando uma função
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta