Aula03 - Rev_Array_Estruturas
8 pág.

Aula03 - Rev_Array_Estruturas


DisciplinaMétodos e Técnicas de Programação22 materiais161 seguidores
Pré-visualização2 páginas
cadastro c1, c2, c3, c4, c5;
Acesso às variáveis
\ufffd Como é feito o acesso às variáveis da 
estrutura?
\ufffd Cada variável da estrutura pode ser 
acessada com o operador \u201c.\u201d. Ex.: 
strcpy(c.nome,"João");
c.idade = 18;
strcpy(c.rua,"Avenida Brasil");
c.numero = 1082;
Acesso às variáveis
\ufffd Como nos arrays, uma estrutura pode 
ser previamente inicializada:
struct ponto {
int x;
int y;
};
struct ponto p1 = { 220, 110 };
Acesso às variáveis
\ufffd E se quiséssemos ler os valores da das 
variáveis da estrutura do teclado?
\ufffd Resposta: basta ler cada variável 
independentemente, respeitando seus 
tipos.
scanf(\u201c%s\u201d,&c.nome);
scanf(\u201c%d\u201d,&c.idade);
scanf(\u201c%s\u201d,&c.rua);
scanf(\u201c%d\u201d,&c.numero);
Acesso às variáveis
\ufffd Note que cada variável dentro da 
estrutura pode ser acessada como se 
apenas ela existisse, não sofrendo 
nenhuma interferência das outras.
\ufffd Uma estrutura pode ser vista como um 
simples agrupamento de dados.
8/26/2011
7
Array de estruturas
\ufffd Sua declaração é similar a declaração 
de uma array de um tipo básico
\ufffd struct cadastro c[100];
\ufffd Desse modo, declara-se um array de 100 
cadastros.
Array de estruturas
\ufffd Lembrando:
\ufffd struct: define um \u201cconjunto\u201d de variáveis 
que podem ser de tipos diferentes;
\ufffd array: é uma \u201clista\u201d de elementos de mesmo 
tipo.
Atribuição entre estruturas
\ufffd Atribuições entre estruturas só podem ser 
feitas quando os campos são IGUAIS!
\ufffd Ex: 
struct cadastro c1,c2;
c1 = c2; //CORRETO
\ufffd Ex:
struct cadastro c1;
struct ficha c2;
c1 = c2; //ERRADO!! TIPOS DIFERENTES
Atribuição entre estruturas
\ufffd No caso de estarmos trabalhando com 
arrays, a atribuição entre diferentes 
elementos do array também é válida
\ufffd Ex: 
\ufffd struct cadastro c[10];
\ufffd c[1] = c[2]; //CORRETO
\ufffd Note que nesse caso, os tipos dos 
diferentes elementos do array são 
sempre IGUAIS.
Estruturas de estruturas
\ufffd Sendo uma estrutura um tipo de dado, 
podemos declarar uma estrutura que utilize 
outra estrutura previamente definida:
struct endereco{
char rua[50]
int numero;};
struct cadastro{
char nome[50];
int idade;
struct endereco ender;};
char nome[50];
int idade;
struct endereco ender
cadastro
char rua[50];char rua[50];
int numero;
Estruturas de estruturas
\ufffd Nesse caso, o acesso aos dados do 
endereço do cadastro é feito utilizando 
novamente o operador \u201c.\u201d.
struct cadastro c;
strcpy(c.nome,"João");
c.idade = 18;
strcpy(c.ender.rua,"Avenida Brasil");
c.ender.numero = 1082;
8/26/2011
8
Estruturas de estruturas
\ufffd Inicialização de uma estrutura de 
estruturas:
struct ponto {
int x, y;};
struct retangulo {
struct ponto inicio, fim;};
struct retangulo r = {{10,20},{30,40}};