English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Linguagem C

Controle de Fluxo de Linguagem C

Função do C

Array do C

Ponteiro do C

String do C

Estruturas de Linguagem C

Arquivos de Linguagem C

Outros C

Manual de Referência do C

Palavra-chave typedef do C

O C oferece o keyword typedef, que você pode usar para dar um nome significativo a um tipo. Isso é usado para renomear variáveis existentes.

Sintaxe do typedef

typedef <existing_name> <alias_name>

Na sintaxe acima, " existing_name"é o nome da variável existente, enquanto " alias_name"é outro nome atribuído a uma variável existente.

Por exemplo, suponha que queremos criar um tipounsigned intSe temos uma variável do tipotypedefo keyword.

typedef unsigned int unit;

Na sentença acima, usamostypedefO keyword declara um tipo unsigned intunitvariáveis.

Agora, podemos criar variáveis usando a seguinte sentença:unsigned intDo tipo:

unit a, b;

em vez de escrever:

unsigned int a, b;

Você deve já ter observadotypedefO keyword oferece uma maneira simplificada e rápida de fornecer um nome alternativo para variáveis já existentes. Quando lidamos com tipos de dados longos (especialmente declarações de estruturas), este keyword é muito útil.

Vamos entender isso através de um exemplo simples.

#include <stdio.h>
int main()
{
    typedef unsigned int unit;
    unit i,j;
    i =10;
    j =20;
    printf("O valor de i é :%d", i);
    printf("\nO valor de j é :%d", j);
    return 0;
}

Resultados de saída

O valor de i é :10 
O valor de j é :20

Uso de typedef para estrutura

A seguir está a declaração de estrutura:

struct student
{
char name[20];
int age;
};
struct student s1;

Na declaração de estrutura acima, criamosEstudanteDo tipo:

struct student s1;

A declaração acima cria a variável s1Mas essa declaração é relativamente longa. Para evitar isso, usamostypedefA chave, cria um tipostudentAs variáveis.

struct student
{
char name[20];
int age;
};
typedef struct student stud;
stud s1, s2;

Na declaração acima, declaramos a variável do tipo struct studentstudAgora, podemos usarstudAs variáveis para criarstruct studentVariável do Tipo.

O typedef acima pode ser escrito como:

typedef struct student
{
    char name[20];
    int age; 
}
stud s1,s2;

Das declarações acima, concluímos que,typedefA chave reduz o comprimento do código e a complexidade do tipo de dados. Ela também ajuda a entender o programa.

Vamos ver outro exemplo, onde usamos a declaração de estrutura typedef.

#include <stdio.h>
typedef struct student
{
    char name[20];
    int age;
}stud;
int main()
{
    stud s1;
    printf("Insira o estudante s1Detalhes: ");
    printf("\nInsira o nome do estudante:");
    scanf("%s", &s1.name);
    printf("\nInsira a idade do estudante:");
    scanf("%d", &s1.age);
    printf("\n Nome do estudante : %s", s1.name);
    printf("\n Insira a idade do estudante : %d", s1.age);
    return 0;
}

Resultados de saída

Insira o estudante s1Detalhes: 
Insira o nome do estudante: Peter
Insira a idade do estudante: 28 
Nome do estudante : Peter 
Idade do estudante : 28

typedef em conjunto com ponteiros

Também podemos usartypedefFornece outro nome ou alias para a variável de ponteiro.

Por exemplo, geralmente declaramos um ponteiro, conforme mostrado a seguir:

int* ptr;

Podemos renomear as variáveis de ponteiro acima, conforme mostrado a seguir:

typedef int* ptr;

Na sentença acima, declaramosint *do Tipo. Agora, precisamos usar' ptr'Variável criaint *Variável do Tipo, como mostrado na seguinte sentença:

ptr p1, p2 ;

Na sentença acima,p1ep2é' ptr'Variável do Tipo.