Typedef en c

Typedef en c

Le typedef est le mot-clé prédéfini, qui demande au compilateur d'attribuer les types définis par l'utilisateur aux types prédéfinis de C, i.e., int, flotteur, décimal, double flotteur, etc.

Typedef peut être utilisé lorsqu'il est difficile à taper plusieurs fois dans un programme. Par exemple, l'utilisation à plusieurs reprises de «non signé» augmente la complexité du programme. Pour réduire cette complexité, nous pouvons définir un nom convivial pour ce type. Par exemple, si nous l'utilisons dans l'étudiant ID, marques, etc., Ensuite, nous pouvons simplement le nommer «étudiant».

En termes simples, nous pouvons dire que Typedef réduit la complexité du programme et donne également la clarté du code.

Utilisations de typedef

Il existe deux types d'utilisations du mot-clé typedef.

Le premier est avec le type de données prédéfini. En ce qui concerne certains types de données complexes et que nous devons créer plus d'une variable, nous utiliserons TypeDEF pour réduire la complexité du code.

Syntaxe

Dans l'extrait ci-dessus, nous pouvons voir la façon d'utiliser Typedef en utilisant un type de données prédéfini simple dans lequel nous écrivons d'abord le mot-clé «typedef» puis le type de données qui doit être aliasé, i.e., Int et signé, et etc., Et puis le nom qui doit être utilisé pour ce type.

Exemple 1

Dans ce morceau de code, nous utiliserons le mot-clé typedef pour créer un alias pour notre type de données prédéfini. Après avoir inclus notre fichier d'en-tête «STdio.h ”, qui nous permet d'effectuer des opérations d'entrée-sortie, nous passons à notre fonction principale () où nous définissons les variables à l'aide du mot-clé typedef. Dans ce programme, nous utilisons un type de données INT long long. Nous écrivons d'abord le mot-clé typedef puis le type de données qui est long long int. Comme nous pouvons le voir, Long Long Int est possible à utiliser une fois, mais si nous devons l'utiliser plus d'une fois, cela augmentera la taille du code. Ensuite, nous avons utilisé un alias «GNL» pour notre type de données.

#inclure
#inclure
int main()

typedef long long int lng;
printf ("L'octet de mémoire longue longue int est:% ld \ n", sizeof (lng));
retour 0;

Ensuite, nous avons utilisé l'instruction printf () pour imprimer la taille du type de données que nous allons utiliser. Dans notre instruction printf (), nous passons la méthode sizeof () qui est responsable de la vérification de la taille de la variable qui lui est transmise. Dans notre cas, nous vérifions la taille du type de données qui est «8».

Comme indiqué dans la capture d'écran ci-dessous, la taille de notre type de données est imprimée avec succès.

Exemple 2

Comme nous l'avons étudié ci-dessus, Typedef réduit la complexité du code. Typedef peut également être utilisé avec des pointeurs. Nous savons que les pointeurs sont les plus importants dans la langue C. Commençons par notre code. Tout d'abord, nous inclurons nos fichiers d'en-tête, puis, en dehors de la fonction principale, nous déclarerons un typedef d'un pointeur de type entier qui est "Integer_PTR". Maintenant, dans notre fonction principale, nous allons créer un pointeur entier «A» qui pointera vers l'adresse de la variable de type entier que nous avons déclaré dans notre prochaine ligne, qui est «a_address» et lui attribuer la valeur «125023».

#inclure
typedef int * Integer_ptr;
int main( )

Integer_ptr a;
int a_addres = 125023;
a = &a_addres;
printf ("% p", a);

Dans la ligne suivante, nous avons attribué le pointeur «A» à l'adresse de la variable A_Address en utilisant le mot-clé Ampersand “&."L'AmperSand est utilisé pour référencer l'adresse de la variable qui est stockée en mémoire. Dans ce cas, nous faisons référence à l'adresse de la variable «a_address».

Enfin, nous imprimerons l'adresse mémoire de la variable «A_Address» en utilisant l'instruction printf () dans laquelle nous avons passé «% p."Cela désigne les données de type de pointeur et" A "qui contient l'adresse. La variable «A_Address» est «0x7ffe889bd77c».

Comme nous le savons, la structure est également un type de données défini par l'utilisateur. Parfois, il est complexe et difficile de créer des objets à partir d'eux, nous utilisons donc TypedeF pour réduire la taille de la structure.

Syntaxe

La structure est utilisée pour combiner plusieurs types de données en un seul type qui est un type défini par l'utilisateur. Parfois, il est difficile d'utiliser plusieurs fois le type de données de structure en raison de sa complexité, donc pour réduire ce facteur, nous utilisons le mot-clé typedef pour définir un alias convivial. Nous écrivons d'abord le mot-clé typedef puis le mot-clé struct qui est utilisé pour créer une structure. Après cela, le nom est donné à ce type.

Exemple 3

Dans cet exemple, nous allons manipuler les dossiers des élèves, et nous apprendrons à utiliser le mot-clé typedef avec la fonction de structure. Comme nous allons travailler avec des chaînes et des personnages, nous inclurons les deux fichiers d'en-tête «STdio.h ”et« String.h ”. Après les fichiers d'en-tête, nous définirons ou tapons. Pour ce faire, nous rédigerons d'abord le mot clé Typedef, puis le mot-clé struct parce que nous allons regrouper plusieurs dataTypes en un seul type, puis le nommez "Student". À l'intérieur des accolades, nous initialiserons toutes les variables et tableaux qui seront accessibles tout au long du programme, nous n'avons donc pas à les définir encore et encore.

#inclure
#inclure
TypeDef Struct Student
Nom de char [50];
Cours de char [50];
int std_id;
Étudiant;
int main( )
Stud Stud;
strcpy (goujon.nom, "mudasir");
strcpy (goujon.cours, "BS SE");
étalon.std_id = 6495407;
printf ("Le nom de l'élève est:% s \ n", étalon.nom);
printf ("Cours étudiant est:% s \ n", étalon.cours);
printf ("Student Roll No Is:% d \ n", Stud.std_id);
retour 0;

Se déplaçant maintenant vers notre fonction principale () où nous définissons un objet de notre type de structure qui est «étalon». Le «goujon» contient désormais tous les données que nous avons déclarées en dehors de la fonction principale. Une chose à garder à l'esprit est que chaque fois que nous appelons le type de données de structure, nous devons ajouter un point ".”Entre l'objet et la variable que nous allons appeler à partir de la classe de structure. Ces variables sont toujours appelées en utilisant la syntaxe:

$ object_defined.Nom de variable

Tout d'abord, nous passerons le nom de l'étudiant en utilisant l'objet «Stud» et le nom qui est «Mudasir» à la fonction Strcpy (). La fonction Strcpy () est responsable de la copie des données transmises à la variable. En cela, nous copions le nom «Mudasir» à la variable de structure «Stud».Nous répéterons la même étape pour le cours. Et après cela, attribuez simplement l'ID à la variable "std_id" qui est "6495407".

Maintenant, nous imprimons nos données d'étudiants en utilisant la déclaration printf () dans laquelle nous avons passé le «goujon.Nom ”qui est chargé de tenir le nom de l'étudiant,% S qui est responsable de l'affichage de la chaîne, de répéter la même étape de la ligne suivante pour afficher le cours et également pour l'ID de l'étudiant. Dans le cas de l'ID, il s'agit d'un type entier, nous avons donc passé le% D dans cette déclaration, ce qui signifie qu'il affichera le type de données décimales.

Comme indiqué dans l'étudiant à sortie donnée, le nom, le cours étudiant et l'ID de l'étudiant sont affichés.

Conclusion

Dans ce guide, nous avons appris le mot-clé typedef et ses utilisations multiples. Nous l'avons également utilisé de plusieurs manières, en utilisant des pointeurs, des structures et des types de données prédéfinis simples.