Registros
Prof. Msc. Thiago Salhab Alves
Registros
• Registros ou Estruturas são outra forma de representação de dados em C.
• Você provavelmente já deve ter deparado com um problema de programação, onde você deseja agrupar um conjunto de tipos de dados não similares sob um único nome.
• Seu primeiro impulso seria talvez usar uma matriz.
3
Registros
• Como matrizes requerem que todos os seus elementos sejam do mesmo tipo, você provavelmente forçará a resolução do problema selecionando uma matriz para cada tipo de dado. O resultado tornaria o programa ineficiente na maneira de manejar os dados.
• O problema de agrupar dados desiguais em C é resolvido pelo uso de estruturas.
4
Registros
• Uma estrutura é uma coleção de uma ou mais variáveis, possivelmente de tipos diferentes, colocadas juntas sob um único nome.
• O exemplo tradicional de uma estrutura é o registro de uma folha de pagamento: um funcionário é descrito por um conjunto de atributos, tais como nome (uma “string”), o número de seu departamento (um inteiro), salário (um float), e assim por diante.
5
Registros
• Uma estrutura consiste de um certo número de itens de dados, chamados membros da estrutura, que não necessitam ser de mesmo tipo, agrupados.
6
Registros
Exemplo:
ESPECIFICAÇÃO DO TIPO DE DADO
struct facil
{
int num; char ch;
};
ETIQUETA DA ESTRUTURA
MEMBROS DA ESTRUTURA
7
Registros struct facil
/* define tipo de dados */
{
int num;
/* inteiro na estrutura */ char ch;
/* caractere na estrutura */
};
struct facil xx1; /* declara xx1 como tipo estr. */ main(){ xx1.num = 2; xx1.ch = ‘Z’; printf(“xx1.num= %d, xx1.ch= %c\n”,xx1.num, xx1.ch);
}
8
Registros
• As instruções anteriores definem um novo tipo de dado chamado struct facil.
• A palavra struct informa ao compilador que um tipo de dado está sendo declarado e o nome facil é chamado “etiqueta” e nomeia a estrutura particular que está sendo definida.
• Note que a “etiqueta” não é o nome de uma variável, isto é, nós não declaramos