Programação
Estruturas
Maria Estrela Cruz
AED
1
Estruturas
Registos
Um registo ou uma Estrutura é um conjunto de variáveis que se relacionam, podendo ser de tipos diferentes, agrupadas e descritas por um único nome.
Um registo, ou estrutura, é um tipo estruturado de dados que corresponde ao produto cartesiano de conjuntos.
A definição de uma estrutura corresponde à definição de um novo tipo de dados.
Cada atributo do registo (estrutura) é denominado por campo.
Cada campo tem um tipo de dados e podem existir vários campos do mesmo tipo de dados.
A definição de um registo (estrutura) pode ter um nome.
AED
2
1
Estruturas
A declaração de um registo, ou estrutura segue a seguinte sintaxe: struct [nome_estrutura] { tipo1 campo11 [,campo12,…, campo1n]; tipo2 campo21 [,campo22,…, campo2m];
...
tipoi campoi1 [,campoi2,…, campoij];
} [var1, ..,varn];
Exemplo1: Na seguinte declaração as variáveis p e q são declaradas como variáveis de um tipo de registos com dois campos float: x e y.
Struct exemplo { float x; float y;
} p, q;
AED
3
Estruturas
Exemplo 2:
Supondo que se pretende guardar o nome, morada e numero BI dos alunos que entram para uma escola. Essa informação pode ser agrupada na seguinte estrutura. struct aluno { char nome [100]; char morada [200]; int num_bi;
};
A definição da estrutura aluno indica ao compilador que passa a existir outro tipo de dados chamado struct aluno, sendo composto por um inteiro e dois arrays de caracteres. É possível então definir variáveis do tipo struct aluno, por exemplo:
Struct aluno aluno1; // aluno1 é uma variável do tipo struct aluno
AED
4
2
Estruturas
Exemplo 3:
Uma data (dia, mês e ano) pode ser representada pela seguinte estrutura: struct Data { int dia; char mes[20]; int ano;
};
A definição da estrutura data indica ao compilador que passa a existir outro tipo de dados chamado struct data, sendo composto por dois