O que são e como utilizar structs
Publicado por Marcos (última atualização em 27/08/2012)
[ Hits: 3.181 ]
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; }
ponteirostrab.c - Trabalhando com ponteiros
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
A coisa universal é muito mais ampla do que cê imagina (12)
Não consigo atualizar para LinuxMint 22 com o Mintupdate (3)
Vc tem um projeto opensource? link? (3)
Linux Mint - Instalação do Ocomon 6x e suas dependências (1)