C typdef

The typedef je klíčové slovo, které se používá k poskytnutí existujících datových typů novým názvem. Klíčové slovo C typedef se používá k předefinování názvu již existujících datových typů.

Když je obtížné používat názvy datových typů v programech, použije se typedef s uživatelsky definovanými datovými typy, které se chovají podobně jako definování aliasu pro příkazy.

Syntaxe typu C

 typedef existing_name alias_name; 

Po této deklaraci můžeme použít alias_name jako by to bylo skutečné existující_jméno v programu C.

Příklad typedef v C

 typedef long long ll; 

Níže je uveden program C pro ilustraci použití typedef.

C




// 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;> }>

Výstup

20 

Použití typedef v C

Níže jsou uvedena některá běžná použití definice typu v programování C:

  • Klíčové slovo typedef dává existujícímu datovému typu smysluplný název, který pomáhá ostatním uživatelům snadněji porozumět programu.
  • Lze jej použít se strukturami pro zvýšení čitelnosti kódu a nemusíme opakovaně zadávat struct.
  • Klíčové slovo typedef lze také použít s ukazateli k deklaraci více ukazatelů v jednom příkazu.
  • Lze jej použít s poli k deklaraci libovolného počtu proměnných.

1. typedef struct

typedef lze také použít se strukturami v programovacím jazyce C. Lze vytvořit nový datový typ a použít jej k definování proměnné struktury.

Příklad 1: Použití typedef k definování názvu struktury

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;> }>

Výstup

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

2. typedef s ukazateli

typedef lze také použít s ukazateli, protože dává ukazatelům alias. Typedef je velmi efektivní při deklarování více ukazatelů v jednom příkazu, protože ukazatele se v jednoduché deklaraci vážou doprava.

Příklad:

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

Ve výše uvedeném příkazu jsou var, var1 a var2 deklarovány jako ukazatele typu int, což nám pomáhá deklarovat více čísel ukazatelů v jednom příkazu.

Příklad 2: Použití typedef k definování názvu pro typ ukazatele.

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;> }>

Výstup

Value of var is 20 

3. typedef s Array

typedef lze také použít s polem ke zvýšení jejich počtu.

Příklad:

typedef int arr[20] 

Zde je arr alias pro pole 20 celočíselných prvků.

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

Příklad 3: Použití typedef k definování aliasu pro 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;> }>

Výstup

typedef using an array 10 20 30 40 

C typedef vs #define

Následují hlavní rozdíl mezi typedef a #define v C:

  1. #define je také schopen definovat aliasy pro hodnoty, například můžete definovat 1 jako JEDEN, 3.14 jako PI atd. Typedef je omezen na přidělování symbolických jmen pouze typům.
  2. Preprocesory interpretují příkazy #define, zatímco kompilátor interpretuje příkazy typedef.
  3. Na konci #define by neměl být středník, ale středník na konci typedef.
  4. Na rozdíl od #define, typedef ve skutečnosti definuje nový typ zkopírováním a vložením hodnot definice.

Níže je uveden program C pro implementaci #define:

C




// 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; }>

Výstup

0 1 2 

Nejčastější dotazy k typedef v C

1. Co je typedef v C?

Příkaz C typedef definuje alias nebo přezdívku pro již existující datový typ.

2. Co je to typedef struct?

Struktura typedef je příkaz používaný k definování aliasu pro datový typ struktury.

3. Co je typedef enum?

Výčet typedef se používá k definování aliasu pro datový typ výčtu.