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

Tutoriel de base du langage C

Contrôle de flux du langage C

Fonctions du langage C

Tableaux du langage C

Pointeurs en C

Chaînes de caractères en C

Structure de langage C

Fichier de langage C

Autres C

Manuel de référence du langage C

Mot-clé typedef en C

Le langage C fournit le mot-clé typedef, que vous pouvez utiliser pour donner un nouveau nom significatif à un type. C'est aussi pour redéfinir le nom d'une variable existante.

La syntaxe de typedef

typedef <existing_name> <alias_name>

Dans la syntaxe ci-dessus, " existing_name"est le nom de la variable existante, tandis que " alias_name"est un autre nom attribué à une variable existante.

Par exemple, supposons que nous voulions créer une variable de typeunsigned intSi nous devons déclarer plusieurs variables de ce type, cela peut devenir fastidieux. Pour surmonter ce problème, nous utilisonstypedefle mot-clé.

typedef unsigned int unit;

Dans l'expression ci-dessus, nous utilisonstypedefLe mot-clé déclare un type unsigned intunitvariable.

Maintenant, nous pouvons créer une variable en écrivant la suivante :unsigned intType de variable :

unit a, b;

plutôt que d'écrire :

unsigned int a, b;

Vous devriez déjà avoir remarquétypedefLes mots-clés fournissent un raccourci simplifié en offrant un nom de remplacement pour les variables existantes. Lorsque nous traitons des types de données longs (en particulier les déclarations de structures), ce mot-clé est très utile.

Commençons par un exemple simple pour comprendre.

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

Résultat de la sortie

La valeur de i est :10 
La valeur de j est :20

typedef pour structure

Voici la déclaration de structure :

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

Dans la déclaration de structure ci-dessus, nous avons créé les suivantes en écrivant la suivante :ÉtudiantType de variable :

struct student s1;

L'instruction ci-dessus montre que la variable s a été créée1Cependant, cette instruction est assez longue. Pour éviter une telle déclaration longue, nous utilisonstypedefLa clé, créer un type destudentVariable.

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

Dans la déclaration ci-dessus, nous avons déclaré une variable de type struct studentstud. Maintenant, nous pouvons utiliserstudVariable pour créerstruct studentVariables du type.

Le typedef ci-dessus peut être écrit comme suit :

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

À partir de la déclaration ci-dessus, nous en concluons que,typedefLe mot-clé réduit la longueur du code et la complexité du type de données, et aide également à comprendre le programme.

Laissez-nous voir un autre exemple où typedef est utilisé pour déclarer une structure.

#include <stdio.h>
typedef struct student
{
    char name[20];
    int age;
}stud;
int main()
{
    stud s1;
    printf("Entrer l'étudiant s1Détails : ");
    printf("\nEntrer le nom de l'étudiant :");
    scanf("%s", &s1).name);
    printf("\nEntrer l'âge de l'étudiant :");
    scanf("%d", &s1).age);
    printf("\nNom de l'étudiant : %s", s1).name);
    printf("\nEntrer l'âge de l'étudiant : %d", s1).age);
    return 0;
}

Résultat de la sortie

Entrer l'étudiant s1Détails : 
Entrer le nom de l'étudiant : Peter
Entrer l'âge de l'étudiant : 28 
Nom de l'étudiant : Peter 
Âge de l'étudiant : 28

typedef utilisé avec les pointeurs

Nous pouvons également utilisertypedefFournir un autre nom ou alias à la variable de pointeur.

Par exemple, nous déclarons généralement un pointeur, comme suit :

int* ptr;

Nous pouvons renommer les variables de pointeur mentionnées précédemment, comme suit :

typedef int* ptr;

Dans l'instruction ci-dessus, nous avons déclaréint *du type, il suffit d'utiliser' ptr'Variable peut être crééeint *Variables du type, comme indiqué dans l'instruction suivante :

ptr p1, p2 ;

Dans l'instruction ci-dessus,p1etp2est' ptr'Variables du type.