logo

typedef en C

Le typedef est un mot-clé utilisé en programmation C pour fournir des noms significatifs à la variable déjà existante dans le programme C . Il se comporte de la même manière lorsque nous définissons l'alias des commandes. Bref, on peut dire que ce mot-clé sert à redéfinir le nom d'une variable déjà existante.

Syntaxe de typedef

 typedef 

Dans la syntaxe ci-dessus, ' nom_existant' est le nom d'une variable déjà existante tandis que ' alias' est un autre nom donné à la variable existante.

Par exemple, supposons que nous souhaitions créer une variable de type entier non signé , cela devient alors une tâche fastidieuse si l'on veut déclarer plusieurs variables de ce type. Pour résoudre le problème, nous utilisons une définition de type mot-clé.

 typedef unsigned int unit; 

Dans les déclarations ci-dessus, nous avons déclaré le unité variable de type int non signé en utilisant une définition de type mot-clé.

Maintenant, nous pouvons créer les variables de type entier non signé en écrivant la déclaration suivante :

 unit a, b; 

au lieu d'écrire :

 unsigned int a, b; 

Jusqu'à présent, nous avons observé que le typedef Le mot-clé fournit un raccourci intéressant en fournissant un nom alternatif pour une variable déjà existante. Ce mot-clé est utile lorsque nous traitons du type de données long, en particulier des déclarations de structure.

opérateur conditionnel en Java

Comprenons à travers un exemple simple.

 #include int main() { typedef unsigned int unit; unit i,j; i=10; j=20; printf('Value of i is :%d',i); printf('
Value of j is :%d',j); return 0; } 

Sortir

 Value of i is :10 Value of j is :20 

Utiliser typedef avec des structures

Considérez la déclaration de structure ci-dessous :

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

Dans la déclaration de structure ci-dessus, nous avons créé la variable de étudiant tapez en écrivant la déclaration suivante :

 struct student s1; 

L'instruction ci-dessus montre la création d'une variable, c'est-à-dire s1, mais l'instruction est assez volumineuse. Pour éviter une déclaration aussi importante, nous utilisons le typedef mot clé pour créer la variable de type étudiant .

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

Dans l'instruction ci-dessus, nous avons déclaré la variable goujon de type struct étudiant. Maintenant, nous pouvons utiliser le goujon variable dans un programme pour créer les variables de type structurer l'étudiant .

Hiba Boukhari

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

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

Des déclarations ci-dessus, nous concluons que typedef Le mot-clé réduit la longueur du code et la complexité des types de données. Cela aide également à comprendre le programme.

Voyons un autre exemple où nous tapons la déclaration de structure.

 #include typedef struct student { char name[20]; int age; }stud; int main() { stud s1; printf('Enter the details of student s1: '); printf('
Enter the name of the student:'); scanf('%s',&s1.name); printf('
Enter the age of student:'); scanf('%d',&s1.age); printf('
 Name of the student is : %s', s1.name); printf('
 Age of the student is : %d', s1.age); return 0; } 

Sortir

 Enter the details of student s1: Enter the name of the student: Peter Enter the age of student: 28 Name of the student is : Peter Age of the student is : 28 

Utiliser typedef avec des pointeurs

Nous pouvons également fournir un autre nom ou un autre nom d'alias aux variables de pointeur à l'aide de la définition de type .

Par exemple, nous déclarons normalement un pointeur, comme indiqué ci-dessous :

 int* ptr; 

Nous pouvons renommer la variable de pointeur ci-dessus comme indiqué ci-dessous :

 typedef int* ptr; 

Dans l'instruction ci-dessus, nous avons déclaré la variable de type entier* . Maintenant, nous pouvons créer la variable de type entier* en utilisant simplement le ' ptr' variable comme indiqué dans l'instruction ci-dessous :

 ptr p1, p2 ; 

Dans la déclaration ci-dessus, p1 et p2 sont les variables de type ' ptr' .