O que são e como utilizar structs
Publicado por Marcos (última atualização em 27/08/2012)
[ Hits: 3.381 ]
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; }
Barra de progresso em forma de "roda"
Ordenar vetor - ordenação bolha
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (0)
Baixar jogos Independentes para Ubuntu [RESOLVIDO] (4)
PIP3 - erro ao instalar módulo do mariadb para o Python (1)
Linux x Plataformas de Trading - um problema (in-)solúvel? (4)