Tipos Complexos

 

 

 

 

 

 

 


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE

Estruturas

 

 

struct {
    char nome[NOME_MAX + 1];
    int numero;
    double media;
} aluno1, aluno2;

 


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE

Referência aos Campos

 

struct {
    char nome[NOME_MAX + 1];
    int numero;
    double media;
} aluno1, aluno2;

 

 


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE

Operações com Estruturas

 

struct {
    char nome[NOME_MAX + 1];
    int numero;
    double media;
} aluno1, aluno2;

Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE

Definição de Tipos


struct Aluno {
    char nome[NOME_MAX + 1];
    int numero;
    double media;
};
struct Aluno aluno1, aluno2;
struct {
 char nome[NOME_MAX + 1];
 int numero;
 double media;
} aluno1, aluno2;

 


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE

Inicialização

 

struct Aluno {
    char nome[NOME_MAX + 1];
    int numero;
    double media;
};
struct Aluno aluno = 
    {"Zacarias", 666, 20.0};

 

 

struct Aluno aluno;
strcpy(aluno.nome, "Zacarias");
aluno.numero = 666;
aluno.media = 20.0;

 

 


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE

Exemplo


struct Aluno {
    char nome[NOME_MAX + 1];
    int numero;
    double media;
};
struct Aluno alunos[100];
int i;
for(i = 0; i < 100; i++)
{
    scanf("%s", alunos[i].nome);
    scanf("%d", &alunos[i].numero);
    scanf("%lf", &alunos[i].media);
}
&alunos[i].media:
endereço do campo media do elemento i da matriz alunos.
([] e . têm maior precedência que &)

 


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE