logo

C typedef

El typedef és una paraula clau que s'utilitza per proporcionar als tipus de dades existents un nom nou. La paraula clau C typedef s'utilitza per redefinir el nom dels tipus de dades ja existents.

Quan els noms dels tipus de dades es tornen difícils d'utilitzar als programes, typedef s'utilitza amb els tipus de dades definits per l'usuari, que es comporten de manera similar a la definició d'un àlies per a les ordres.



Sintaxi C typedef

 typedef existing_name alias_name;>

Després d'aquesta declaració, podem utilitzar el nom_àlies com si fos el real nom_existent dins del programa C.

Exemple de typedef en C

 typedef long long ll;>

A continuació es mostra el programa C per il·lustrar com utilitzar typedef.

C








convertir cadena a int

// C program to implement typedef> #include> // defining an alias using typedef> typedef> long> long> ll;> // Driver code> int> main()> {> >// using typedef name to declare variable> >ll var = 20;> >printf>(>'%ld'>, var);> >return> 0;> }>

>

>

Sortida

20>

Ús de typedef a C

A continuació es mostren alguns usos comuns del typedef en programació C:

  • La paraula clau typedef dóna un nom significatiu al tipus de dades existent que ajuda altres usuaris a entendre el programa més fàcilment.
  • Es pot utilitzar amb estructures per augmentar la llegibilitat del codi i no hem d'escriure struct repetidament.
  • La paraula clau typedef també es pot utilitzar amb punters per declarar diversos punters en una sola instrucció.
  • Es pot utilitzar amb matrius per declarar qualsevol nombre de variables.

1. typedef struct

typedef també es pot utilitzar amb estructures en el llenguatge de programació C. Es pot crear un nou tipus de dades i utilitzar-lo per definir la variable d'estructura.

Exemple 1: ús de typedef per definir un nom per a una estructura

C




// C program to implement> // typedef with structures> #include> #include> // using typedef to define an alias for structure> typedef> struct> students {> >char> name[50];> >char> branch[50];> >int> ID_no;> } stu;> // Driver code> int> main()> {> >stu st;> >strcpy>(st.name,>'Kamlesh Joshi'>);> >strcpy>(st.branch,>'Computer Science And Engineering'>);> >st.ID_no = 108;> >printf>(>'Name: %s '>, st.name);> >printf>(>'Branch: %s '>, st.branch);> >printf>(>'ID_no: %d '>, st.ID_no);> >return> 0;> }>

>

>

Sortida

Name: Kamlesh Joshi Branch: Computer Science And Engineering ID_no: 108>

2. typedef amb punters

typedef també es pot utilitzar amb punters, ja que dóna un nom d'àlies als punters. Typedef és molt eficient mentre es declara diversos punters en una sola instrucció perquè els punters s'uneixen a la dreta de la declaració simple.

Exemple:

typedef int* Int_ptr; Int_ptr var, var1, var2;>

A la declaració anterior, var, var1 i var2 es declaren com a punters de tipus int, que ens ajuda a declarar diversos nombres de punters en una sola instrucció.

Exemple 2: ús de typedef per definir un nom per al tipus de punter.

C




// C program to implement> // typedef with pointers> #include> typedef> int>* ptr;> // Driver code> int> main()> {> >ptr var;> >*var = 20;> >printf>(>'Value of var is %d'>, *var);> >return> 0;> }>

>

>

Sortida

Value of var is 20>

3. typedef amb Array

typedef també es pot utilitzar amb una matriu per augmentar el seu recompte.

Exemple:

la cadena java conté
typedef int arr[20]>

Aquí, arr és un àlies per a una matriu de 20 elements enters.

// it's same as Arr[20], two-Arr[20][23]; arr Arr, two-Arr[23];>

Exemple 3: ús de typedef per definir un àlies per a Array.

C




// C program to implement typedef with array> #include> typedef> int> Arr[4];> // Driver code> int> main()> {> >Arr temp = { 10, 20, 30, 40 };> >printf>(>'typedef using an array '>);> >for> (>int> i = 0; i <4; i++) {> >printf>(>'%d '>, temp[i]);> >}> >return> 0;> }>

>

>

Sortida

typedef using an array 10 20 30 40>

C typedef vs #define

Les següents són les principals diferències entre typedef i #define en C:

  1. #define també és capaç de definir àlies per a valors, per exemple, podeu definir 1 com ONE, 3.14 com PI, etc. Typedef es limita a donar noms simbòlics només als tipus.
  2. Els preprocessadors interpreten les sentències #define, mentre que el compilador interpreta les sentències typedef.
  3. No hi hauria d'haver cap punt i coma al final de #define, sinó un punt i coma al final de typedef.
  4. En contrast amb #define, typedef definirà realment un nou tipus copiant i enganxant els valors de definició.

A continuació es mostra el programa C per implementar #define:

C


ordres git per push



// C program to implement #define> #include> // macro definition> #define LIMIT 3> // Driver code> int> main()> {> >for> (>int> i = 0; i printf('%d ', i); } return 0; }>

>

>

Sortida

0 1 2>

Preguntes freqüents sobre typedef en C

1. Què és typedef en C?

La instrucció C typedef defineix un àlies o un sobrenom per al tipus de dades ja existent.

2. Què és typedef struct?

L'estructura typedef és la instrucció utilitzada per definir un àlies per al tipus de dades de l'estructura.

3. Què és typedef enum?

L'enumeració typedef s'utilitza per definir l'àlies per al tipus de dades d'enumeració.