O que são e como utilizar structs
Publicado por Marcos (última atualização em 27/08/2012)
[ Hits: 3.318 ]
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; }
Multiplicação de matrizes com indireção múltipla
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)