Pular para o conteúdo

Estrutura (struct) em C

Uma estrutura é uma coleção de variáveis.

Por exemplo, você pode declarar uma estrutura do tipo Nome a qual contém os itens Primeiro Nome, Nome do Meio e Sobrenome.

No código anexo foram declaradas duas estruturas. A primeira estrutura, NomeCompleto, contém as variáveis que compõem um nome e a segunda estrutura, Pessoa, contém a primeira estrutura e a variável idade.
Drausio Henrique Chiarotti drausio
Hits: 11.424 Categoria: C/C++ Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Uma estrutura é uma coleção de variáveis.

Por exemplo, você pode declarar uma estrutura do tipo Nome a qual contém os itens Primeiro Nome, Nome do Meio e Sobrenome.

No código anexo foram declaradas duas estruturas. A primeira estrutura, NomeCompleto, contém as variáveis que compõem um nome e a segunda estrutura, Pessoa, contém a primeira estrutura e a variável idade.
Download estruturas.c Enviar nova versão

Esconder código-fonte

#include <stdio.h>

int main()
{

struct NomeCompleto {
char Primeiro[15];
char Meio[15];
char Sobrenome[15];
};

struct Pessoa {
struct NomeCompleto Nome;
int idade;
};

struct Pessoa Drausio;

printf("Digite seu primeiro nome: ");
scanf("%s", &Drausio.Nome.Primeiro);
printf("Digite seu nome do meio: ");
scanf("%s", &Drausio.Nome.Meio);
printf("Digite seu sobrenome: ");
scanf("%s", &Drausio.Nome.Sobrenome);
printf("Digite sua idade: ");
scanf("%d", &Drausio.idade);

printf("Nome completo: %s %s %s\nIdade: %d anos\n", Drausio.Nome.Primeiro, Drausio.Nome.Meio, Drausio.Nome.Sobrenome, Drausio.idade);

}

Verificação de ano bissexto

jhr boletim v1.0

clean.h - Biblioteca para limpar um determinado espaço no terminal

Determinar maior número com função

Calculadora

#1 Comentário enviado por alexlucena em 13/12/2006 - 00:14h
legal =]
#2 Comentário enviado por da20web em 10/06/2010 - 11:50h
Olá Drausio,

Tentei incrementar apenas para estudo seu código inserindo valores antes, com a linha:

struct Pessoa Drausio = {{{"Nome","Nome_do_Meio","Sobrenome"},20},{{"Nome2","Nome_do_Meio2","Sobrenome2"},25}};

Retirei os printf's e scanf's e fiz um for como o abaixo:

for(i=0;i<2;i++){
printf("Nome completo: %s %s %s\nIdade: %d anos\n", Drausio[i].Nome.Primeiro, Drausio[i].Nome.Meio, Drausio[i].Nome.Sobrenome, Drausio[i].idade);
}

Sabe me dizer o que pode estar errado? Um abraço!

Contribuir com comentário

Entre na sua conta para comentar.