logo

C tipodef

The typedef yra raktinis žodis, naudojamas esamiems duomenų tipams suteikti nauju pavadinimu. C typedef raktinis žodis naudojamas iš naujo apibrėžti jau esamų duomenų tipų pavadinimus.

Kai programose sunku naudoti duomenų tipų pavadinimus, typedef naudojamas su vartotojo apibrėžtais duomenų tipais, kurie elgiasi panašiai kaip apibrėžiant komandų slapyvardį.



C tipo sintaksė

 typedef existing_name alias_name;>

Po šios deklaracijos galime naudoti slapyvardis_vardas tarsi tai būtų tikra esamas_vardas C programoje.

Typedef pavyzdys C

 typedef long long ll;>

Žemiau yra C programa, iliustruojanti, kaip naudoti 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;> }>

>

>

Išvestis

20>

Typedef naudojimas C

Toliau pateikiami keli įprasti tipodef naudojimo būdai C programuojant:

  • Raktinis žodis typedef suteikia prasmingą esamo duomenų tipo pavadinimą, kuris padeda kitiems vartotojams lengviau suprasti programą.
  • Jis gali būti naudojamas su struktūromis, kad pagerintų kodo skaitomumą, ir mums nereikia pakartotinai įvesti struct.
  • Raktinis žodis typedef taip pat gali būti naudojamas su rodyklėmis, kad viename sakinyje būtų deklaruojamos kelios rodyklės.
  • Jis gali būti naudojamas su masyvais, norint deklaruoti bet kokį kintamųjų skaičių.

1. typedef struct

typedef taip pat gali būti naudojamas su struktūromis C programavimo kalba. Galima sukurti naują duomenų tipą ir naudoti jį apibrėžti struktūros kintamąjį.

1 pavyzdys: Typedef naudojimas norint apibrėžti struktūros pavadinimą

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

>

>

Išvestis

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

2. typedef su rodyklėmis

typedef taip pat gali būti naudojamas su rodyklėmis, nes jis suteikia rodyklėms slapyvardį. „Typedef“ yra labai efektyvus, kai viename sakinyje deklaruoja keletą rodyklių, nes paprastoje deklaracijoje rodyklės susiejamos dešinėje.

Pavyzdys:

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

Aukščiau pateiktame teiginyje var, var1 ir var2 yra deklaruojami kaip int tipo rodyklės, kurios padeda mums deklaruoti kelis rodyklių skaičius viename sakinyje.

2 pavyzdys: Typedef naudojimas žymeklio tipo pavadinimui apibrėžti.

C

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

>

>

Išvestis

Value of var is 20>

3. typedef su Array

typedef taip pat gali būti naudojamas su masyvu, siekiant padidinti jų skaičių.

Pavyzdys:

jei dar sakinys java
typedef int arr[20]>

Čia arr yra 20 sveikųjų skaičių elementų masyvo pseudonimas.

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

3 pavyzdys: Typedef naudojimas norint apibrėžti masyvo slapyvardį.

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

>

>

Išvestis

typedef using an array 10 20 30 40>

C typedef vs #define

Toliau pateikiami pagrindiniai skirtumai tarp typedef ir #define C:

  1. #define taip pat gali apibrėžti reikšmių slapyvardžius, pavyzdžiui, 1 galite apibrėžti kaip VIENAS, 3.14 kaip PI ir tt Typedef apsiriboja tik simbolinių pavadinimų suteikimu tipams.
  2. Išankstiniai procesoriai interpretuoja #define sakinius, o kompiliatorius interpretuoja typedef teiginius.
  3. #define pabaigoje neturėtų būti kabliataškio, o tipodef pabaigoje turi būti kabliataškis.
  4. Priešingai nei #define, typedef iš tikrųjų apibrėžs naują tipą, nukopijuodamas ir įklijuodamas apibrėžimo reikšmes.

Žemiau yra C programa, skirta įgyvendinti #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; }>

>

>

Išvestis

0 1 2>

DUK apie typedef C

1. Kas yra typedef C?

C typedef sakinys apibrėžia jau esamo duomenų tipo slapyvardį arba slapyvardį.

2. Kas yra tipodef struktūra?

Typedef struktūra yra sakinys, naudojamas apibrėžti struktūros duomenų tipo slapyvardį.

3. Kas yra typedef enum?

Typedef enum naudojamas slapyvardžiui apibrėžti surašymo duomenų tipui.