Existem dois passos no processo de definição de uma variável estrutura:
1. primeiro você declara um tipo de estrutura, que determina o formato - ou padrão - que a estrutura
utilizará para armazenar os dados.
2.depois você define uma ou mais variáveis que pertencem ao tipo da estrutura declarada.
Ambas as declarações começam com a palavra reservada struct.
Sintaxe:
struct nomedetipo
{
tipo membro1;
tipo membro2;
/* declarações adicionais de membros */
};
Essa declaração não aloca espaço na memória para quaisquer variáveis, mais propriamente, ela simplesmente define o formato de dados de uma estrutura. O nome da estrutura nessa declaração é um tipo de dado que você pode utilizar mais tarde para definir variáveis. A lista de definição de membros está incluída entre chaves nessa definição. Cada membro da lista tem seu próprio nome (membro1, membro2 e assim por diante) e seu próprio tipo de dados definido.
Exemplo:
struct clistruct
{
char client[40];
float hours;
};
Você também poderá definir uma ou mais variáveis pertencentes a um tipo de estrutura.
Sintaxe:
struct nomedetipo variável;
Exemplo:
struct clistruct holdcli;
Uma vez definida a variável de estrutura, C fornece uma notação especial para referir-se aos membros individuais da estrutura. A notação tem duas partes, separadas por um ponto:
Sintaxe:
variável.membro
O nome da variável estrutura vem primeiro, seguido pelo nome de um membro individual.
Exemplo:
holdcli.client
holdcli.hours
C permite que uma estrutura inteira seja copiada para outra variável estrutura por meio de um simples comando de atribuição.
Exemplo:
Se s1 e s2 são ambas estruturas de um mesmo tipo, o seguinte comando atribui todos os membros de s2 para
todos os correspondentes membros em s1:
s1 = s2;
Digamos que as estruturas s1 e s2 contêm os membros x, y e z; o comando de atribuição mostrado acima
possui o mesmo efeito que os três comandos seguintes:
s1.x = s2.x;
s1.y = s2.y;
s1.z = s2.z;
/* ex44.c classificação de estrutura */
#include < stdio.h > /* diretiva */
main() /* função principal */
{
struct s /* declaração de estrutura */
{
int x,y,z;
}
struct s s1; /* variáveis com a mesma estrutura definida antes*/
struct s s2 = {1,2,3};
s1 = s2;
printf ("\n %d %d %d \n\n",s1.x, s1.y, s1.z);
}
A inicialização de estruturas é feita de forma semelhante à inicialização de matrizes. Para cada membro da estrutura devem ser relacionados entre chaves ({}) os valores iniciais, sendo atribuído o valor nulo aos membros para os quais não sejam relacionados valores iniciais:
/* Ex58.c inicialização de uma estrutura */
#include < stdio.h >
struct dados
{
long identidade;
char nome[10];
};
struct dados cliente = { 579992L, "Fernando"}, { 678888L, "Antonio"};
main()
{
printf ("Cliente = %s", cliente[0].nome)};
printf ("Identidade = %ld\n", cliente[0].identidade)};
printf ("Cliente = %s", cliente[1].nome)};
printf ("Identidade = %ld\n", cliente[1].identidade)};
}
![]() Voltar à HomePage |
![]() Ir para o topo da Página |
![]() Ir para a Aula 7 |
|---|