Use o botão abaixo para reportar erros ou dar sugestões.

Computação Científica - Um Livro Colaborativo

9.1 Estruturas


Estrutura é uma forma de agrupar um ou mais tipos de variáveis, definindo um novo tipo. Declaramos uma estrutura com a palavra struct. Acessamos os membros de uma estrutura usando um ponto.

Exemplo 9.1.1. Defina um estrutura que suporta uma data no formato dia/mês/ano.

#include <stdio.h>  
 
struct data  
{  
  int dia;  
  char *mes;  
  int ano;  
}d;  
 
void main(void)  
{  
  d.dia=1;  
  d.mes="janeiro";  
  d.ano=2018;  
  printf("A data é %d de %s de %d\n",d.dia,d.mes,d.ano);  
}

No exemplo 9.1.1, nós definimos uma estrutura para armazenar a data da forma struct data. Três variáveis existem dentro da estrutura, sendo duas inteiras e uma ponteiro para char. Observe que data é o nome da estrutura e d é uma variável do tipo data. Assim, dentro do main, acessamos as variáveis internas da estrutura através da variavél d usando o ponto: d.dia, d.mes e d.ano.

Um estrutura admite uma carga inicial, veja outra versão do exemplo 9.1.1:

#include <stdio.h>  
 
struct data  
{  
  int dia;  
  char *mes;  
  int ano;  
}d={1,"janeiro",2018};  
 
void main(void)  
{  
  printf("A data é %d de %s de %d\n",d.dia,d.mes,d.ano);  
  d.dia=5;  
  d.mes="fevereiro";  
  d.ano=2017;  
  printf("A data é %d de %s de %d\n",d.dia,d.mes,d.ano);  
}

A ordem da carga inicial é a mesma ordem da definição da estrutura. Alternativamente, podemos definir a variável do tipo data no curso do programa:

#include <stdio.h>  
 
struct data  
{  
  int dia;  
  char *mes;  
  int ano;  
};  
 
void main(void)  
{  
  struct data d={1,"janeiro",2018};  
  printf("A data é %d de %s de %d\n",d.dia,d.mes,d.ano);  
  d.dia=5;  
  d.mes="fevereiro";  
  d.ano=2017;  
  printf("A data é %d de %s de %d\n",d.dia,d.mes,d.ano);  
}

Em linguagem C também admite-se estrutura dentro de estrutura.

Creative Commons License Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 19/8/2020 às 17:33:17.

Informe erros ou edite você mesmo!