grupo
MÚLTIPLOS
TIPO
REGISTROS
DE
MESMO
Da mesma forma que podemos ter várias variáveis do tipo int em um programa, podemos também ter qualquer número de variáveis do tipo de um registro pré-definido.
3
EXEMPLO
1. main()
2. {
3.
struct facil {
4.
int num;
5.
char ch;
6.
};
7.
struct facil xx1;
8.
struct facil xx2;
9.
xx1.num=2;
10.
xx1.ch='Z';
11.
xx2.num=3;
12.
xx2.ch='Y';
13.
printf("xx1.num = %d, xx1.ch = %c \n", xx1.num, xx1.ch);
14.
printf("xx2.num = %d, xx2.ch = %c \n", xx2.num, xx2.ch);
15. }
4
COMBINANDO DECLARAÇÕES
Você pode combinar em uma instrução a definição do tipo registro e a declaração das variáveis tipo registro.
5
EXEMPLO
1. main()
2. {
3.
struct facil {
4.
int num;
5.
char ch;
6.
} xx1, xx2;
7.
xx1.num=2;
8.
xx1.ch='Z';
9.
xx2.num=3;
10.
xx2.ch='Y';
11.
printf("xx1.num = %d, xx1.ch = %c \n", xx1.num, xx1.ch);
12.
printf("xx2.num = %d, xx2.ch = %c \n", xx2.num, xx2.ch);
13. }
6
DEFINIÇÃO
“ETIQUETA”
DE
REGISTROS
SEM
A convenção normal é a de usar etiqueta do registro quando a expectativa é criar várias variáveis do mesmo tipo estrutura.
7
Se você espera usar uma única declaração de variável do tipo estrutura, você pode combinar a declaração com a definição da estrutura e omitir a etiqueta: struct { int num; char ch;
} xx1, xx2;
8
INICIALIZANDO REGISTRO
Podemos inicializar uma variável do tipo registro com elemento pré-definidos.
9
EXEMPLO
1. struct livro {
2.
char titulo[30];
3.
int regnum;
4.
};
5.
main()
6.
{
7.
struct livro livro1 = {"Helena", 102};
8.
struct livro livro2 = {"Iracema", 321};
9.
printf("\nLista de livros:\n");
10.
printf(" Titulo: %s\n", livro1.titulo);
11.
printf(" Numero do registro: %d\n", livro1.regnum);
12.
printf(" Titulo: %s\n", livro2.titulo);
13.
printf(" Numero do registro: %d\n", livro2.regnum);
14.
}
10
ATRIBUIÇÕES ENTRE ESTRUTURAS
Se duas