Redefinição de tipos com typedef

 

Por: Eduardo Casavella
 

O comando typedef é usado para criar “sinônimo” ou um “alias” para tipos de dados existentes. Então na prática podemos dizer que estamos renomeando um tipo de dados.

A renomeação de tipos facilita a organização e o entendimento do código.

Sintaxe:

typedef <nome do tipo de dado> <novo nome>;
 
É importante ressaltar que o comando typedef não cria um novo tipo. Ele apenas permite que um tipo existente seja denominado de uma forma diferente, de acordo com a especificação desejada pelo programador.
 

Exemplo: Redefinindo tipos básicos com typef
 


#include <stdio.h>
#include <conio.h>
int main (void) 
{
  //redefinição do tipo float como nota
  typedef float nota;
  
  //declarando as variáveis usando o tipo de dados renomeado
  nota prova1 = 0, prova2 = 0, media = 0;
  
  printf ("Informe a nota da primeira prova: ");  
  scanf ("%f", &prova1);
  
  printf ("Informe a nota da segunda prova: ");  
  scanf ("%f", &prova2);
  
  media = (prova1 + prova2) / 2;
  
  printf ("Media do aluno: %.2f\n", media);
  getch();
  return 0;
}

 

Tela de execução
 

Exemplo redefinindo tipos básicos com typef

Tela de execução redefinindo tipos básicos com typef


 
Usando typedef para redefinir structs
 
É muito frequente o uso de typedef para redefinir tipos como estruturas a fim de tornar os nomes mais curtos, desta forma podemos representar uma estrutura usando apenas seu sinônimo.
 
Exemplo: typedef e struct

 
# include <stdio.h>
# include <stdlib.h>
 
//redefinindo os tipos básicos float e int
typedef float nota;
typedef int inteiro;
 
struct tAluno 
{  
  //utilizando os tipos redefinidos dentro da struct
  inteiro matricula ;
  nota prova1;
  nota prova2;  
};
 
//redefinindo a struct para encurtar o comando na declaração
typedef struct tAluno tAluno ;
 
int main (void)
{
 
 /* declarando a variável do tipo tAluno
     note que com a redefinição agora não é mais necessário escrever struct tAluno */
  
   tAluno aluno ;

   nota media = 0;
   
   printf ("Informe o numero de matricula: ");   
   scanf ("%d", &aluno.matricula);
   
   printf ("Informe a nota da primeira prova: ");  
   scanf ("%f", &aluno.prova1);
  
   printf ("Informe a nota da segunda prova: ");  
   scanf ("%f", &aluno.prova2);
   
   media = (aluno.prova1 + aluno.prova2) / 2;
   
   printf("\nMatricula.....: %d\n", aluno.matricula);
   printf("Media do aluno: %.2f", media);
   
   getch();
   return 0;
}

 

Tela de execução
 

Exemplo typedef e struct

Tela de execução utilizando typedef e struct

Até a próxima!

Uma resposta a Redefinição de tipos com typedef