• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

wrproject

ajuda typedef

6 mensagens neste tópico

ola pessoal, preciso aki duma ajudinha, sera k podiam  explicarme como e k funciona a funcao typedef? ja vi varios tutoriais mas mesmo assim nao percebi como e k funciona, sera k podiam ajudar-me?

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o typedef é uma instrução e não uma função.

com ele podes criar nomes alternativos para um tipo de dados, por exemplo: typedef int* apontadorInt;

desta forma, fazer int* x=...; é equivalente a apontadorInt x=...;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja agora acrescento só este dado que normalmente afasta muitas confusões:

Isso serve para facilitar o processo de desenvolvimento. Por exemplo... estás a escrever um programa em que usas umas dez variaveis do tipo int e realizas operações entre elas. No fim de contas precisas de usar float em vez de int. Se definires um alias para um tipo de dados através do typedef e o usares podes mudar o tipo de todas as variaveis de uma vez.

typedef int oteutipo;

oteutipo a=5;
oteutipo b=10;
oteutipo c;
c = a+ b;

Se por acaso precisares de usar outro tipo de dados basta mudares a primeira linha.

PS:

Na verdade é uma keyword... instrução é a o pedaço de código entre dois semicolumns onde esta palavrinha entra... mas isto sou eu a divagar, nem tenho a certeza absoluta disto :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Da forma como referiste eu costumo usar

#define OTEUTIPO  int

No fundo o resultado é o mesmo ;)

Só costumo usar o typedef tipo

typedef 
struct {
    char nome[30];
    int idade;
    ...
} Pessoa; 

... 
{
     Pessoa eu;
     strcpy( eu.nome , "lalala");
     ...

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não é bem igual, porque o typedef funciona ao nível do compilador, quando estiveres a fazer debug é preferível aparecer oteutipo do que int.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Outra vantagem de se usar o typedef é em termos da facilidade de compreensão do código. Por exemplo, é bem mais fácil usar

typedef struct Tree * TreePtr

para perceber intuitivamente que se uma variável for do tipo TreePtr então é um apontador para uma estrutura Tree, por exemplo. E se se usar ao longo do código a definição de TreePtr é bem mais fácil de ler e compreender o código do que fazer repetidamente struct Tree *, seja numa atribuição ou cast por exemplo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora