Estruturas Heterogeneas
Algoritmos e Estrutura de Dados 1
T ipos Compostos
typedef, struct, union, enum
Prof. Rafael Liberato liberato@utfpr.edu.br Roteiro
Contextualização
Definindo tipos (typedef)
Estruturas (struct)
Declaração de variáveis
Acessando campos
Inicialização
Atribuição
Array de estruturas
Estruturas aninhadas
Prof. Rafael Liberato
Uniões (union)
Enumerações (enum)
Ponteiros e Tipos compostos Passando Estruturas para funções Alocação dinâmica com tipos compostos
2
Contextualização
Contextualização
(Problema)
Tipos básicos
int, char, float, double
Tipos compostos homogêneos (array) int v[10]; char[5][20]; Cliente
E quando precisamos representar em nosso programa, uma entidade do mundo real que possui diferentes atributos
Aluno
?
Tipos compostos heterogêneos
Prof. Rafael Liberato
- cpf
- ra
- nome
- código
- nome
- telefone
- celular
Produto
- código
- nome
- descrição
- preço
4
Contextualização
(Solução)
Tipos compostos
Definição de novos tipos de dados a partir dos tipos primitivos da linguagem.
Tipos
Estruturas (Struct)
Uniões (Union)
Enumerações (Enum)
Prof. Rafael Liberato
5
typedef
Definindo T ipos
Definindo T ipos (typedef)
A linguagem C permite que o programador defina seus próprios tipos baseado nos já existentes typedef
O comando typedef NÃO cria um novo tipo.
Ele apenas permite que você defina um sinônimo para um tipo já existente.
Exemplo
Apenas criamos um sinônimo para o tipo já existente int
typedef int inteiro; int x=10, y=20; inteiro i=30, j=40;
Prof. Rafael Liberato
7
Definindo T ipos (typedef)
Alguns cuidados na utilização
O novo tipo definido não indica que é um array
[TypedefExemplo02.c]
Prof. Rafael Liberato
8
Definindo T ipos (typedef)
Outro exemplo
[TypedefExemplo02_2 .c]
Prof. Rafael Liberato
9
Tipos Compostos
Estruturas (struct)
Estrutura