logo

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




linuxový souborový systém





// 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.