logo

C typedef

The typdef je kľúčové slovo, ktoré sa používa na poskytnutie nového názvu existujúcim typom údajov. Kľúčové slovo C typedef sa používa na predefinovanie názvu už existujúcich typov údajov.

Keď sa názvy dátových typov stanú ťažko použiteľnými v programoch, typedef sa používa s užívateľsky definovanými dátovými typmi, ktoré sa správajú podobne ako pri definovaní aliasu pre príkazy.

Syntax typu C

 typedef existing_name alias_name;>

Po tomto vyhlásení môžeme použiť alias_name ako keby to bolo skutočné existujúci_názov v programe C.



Príklad typedef v C

 typedef long long ll;>

Nižšie je uvedený program C na ilustráciu použitia typedef.

C


spať pre javascript



// 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ýkon

20>

Použitie typedef v C

Nasledujú niektoré bežné použitia typového definovania v programovaní C:

  • Kľúčové slovo typedef dáva zmysluplný názov existujúcemu typu údajov, ktorý pomáha ostatným používateľom ľahšie pochopiť program.
  • Dá sa použiť so štruktúrami na zvýšenie čitateľnosti kódu a nemusíme struct písať opakovane.
  • Kľúčové slovo typedef možno použiť aj s ukazovateľmi na deklarovanie viacerých ukazovateľov v jednom príkaze.
  • Môže sa použiť s poľami na deklarovanie ľubovoľného počtu premenných.

1. typedef struct

typedef možno použiť aj so štruktúrami v programovacom jazyku C. Je možné vytvoriť nový typ údajov a použiť ho na definovanie premennej štruktúry.

Príklad 1: Použitie typedef na definovanie názvu štruktúry

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ýkon

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

2. typedef s ukazovateľmi

typedef možno použiť aj s ukazovateľmi, pretože dáva alias názov ukazovateľov. Typedef je veľmi efektívny pri deklarovaní viacerých ukazovateľov v jednom príkaze, pretože ukazovatele sa viažu vpravo na jednoduchú deklaráciu.

Príklad:

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

Vo vyššie uvedenom príkaze sú var, var1 a var2 deklarované ako ukazovatele typu int, čo nám pomáha deklarovať viacero čísel ukazovateľov v jednom príkaze.

Príklad 2: Použitie typedef na definovanie názvu pre typ ukazovateľa.

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ýkon

Value of var is 20>

3. typedef s Array

typedef možno použiť aj s poľom na zvýšenie ich počtu.

Príklad:

typedef int arr[20]>

Tu je arr alias pre pole 20 celočíselných prvkov.

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

Príklad 3: Použitie typedef na definovanie aliasu pre 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ýkon

typedef using an array 10 20 30 40>

C typedef vs #define

Nasleduje hlavný rozdiel medzi typedef a #define v C:

  1. #define dokáže definovať aj aliasy pre hodnoty, napríklad môžete definovať 1 ako JEDEN, 3.14 ako PI atď.
  2. Preprocesory interpretujú príkazy #define, zatiaľ čo kompilátor interpretuje príkazy typedef.
  3. Na konci #define by nemala byť bodkočiarka, ale bodkočiarka na konci typedef.
  4. Na rozdiel od #define, typedef v skutočnosti definuje nový typ skopírovaním a vložením hodnôt definície.

Nižšie je uvedený program C na implementáciu #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ýkon

0 1 2>

Časté otázky o typedef v C

1. Čo je typedef v C?

Príkaz C typedef definuje alias alebo prezývku pre už existujúci typ údajov.

2. Čo je to typedef struct?

Štruktúra typedef je príkaz používaný na definovanie aliasu pre dátový typ štruktúry.

3. Čo je to typedef enum?

Enum typedef sa používa na definovanie aliasu pre typ údajov enumerácie.