O que são e como utilizar structs
Publicado por Marcos (última atualização em 27/08/2012)
[ Hits: 3.468 ]
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;
}
Calcula valor da prestação atrasada
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









