logo

C-typedef

De typedef is een trefwoord dat wordt gebruikt om bestaande gegevenstypen van een nieuwe naam te voorzien. Het sleutelwoord C typedef wordt gebruikt om de naam van reeds bestaande gegevenstypen opnieuw te definiëren.

Wanneer namen van datatypes moeilijk te gebruiken worden in programma's, wordt typedef gebruikt met door de gebruiker gedefinieerde datatypes, die zich op dezelfde manier gedragen als het definiëren van een alias voor opdrachten.



C typedef-syntaxis

 typedef existing_name alias_name;>

Na deze verklaring kunnen we de alias naam alsof het de echte is bestaande_naam in ons C-programma.

Voorbeeld van typedef in C

 typedef long long ll;>

Hieronder vindt u het C-programma om te illustreren hoe u typedef gebruikt.

C




Mark Zuckerberg Onderwijs





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

>

>

Uitvoer

20>

Gebruik van typedef in C

Hieronder volgen enkele veelvoorkomende toepassingen van het typedef in C-programmering:

  • Het trefwoord typedef geeft een betekenisvolle naam aan het bestaande gegevenstype, waardoor andere gebruikers het programma gemakkelijker kunnen begrijpen.
  • Het kan worden gebruikt met structuren om de leesbaarheid van de code te vergroten en we hoeven struct niet herhaaldelijk te typen.
  • Het trefwoord typedef kan ook worden gebruikt met pointers om meerdere pointers in één enkele instructie te declareren.
  • Het kan worden gebruikt met arrays om een ​​willekeurig aantal variabelen te declareren.

1. typedef-structuur

typedef kan ook worden gebruikt met structuren in de programmeertaal C. Er kan een nieuw gegevenstype worden gemaakt en gebruikt om de structuurvariabele te definiëren.

Voorbeeld 1: Typedef gebruiken om een ​​naam voor een structuur te definiëren

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

>

>

Uitvoer

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

2. typedef met pointers

typedef kan ook worden gebruikt met pointers, omdat het een aliasnaam aan de pointers geeft. Typedef is zeer efficiënt bij het declareren van meerdere pointers in één enkele instructie, omdat pointers aan de rechterkant van de eenvoudige declaratie binden.

Voorbeeld:

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

In de bovenstaande verklaring worden var, var1 en var2 gedeclareerd als pointers van het type int, wat ons helpt meerdere aantallen pointers in één statement te declareren.

Voorbeeld 2: Typedef gebruiken om een ​​naam voor het pointertype te definiëren.

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

>

>

Uitvoer

Value of var is 20>

3. typedef met Array

typedef kan ook worden gebruikt met een array om het aantal te vergroten.

Voorbeeld:

typedef int arr[20]>

Hier is arr een alias voor een array van twintig gehele elementen.

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

Voorbeeld 3: Typedef gebruiken om een ​​alias voor Array te definiëren.

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

>

>

Uitvoer

typedef using an array 10 20 30 40>

C typedef versus #define

Hieronder volgen de belangrijkste verschillen tussen typedef en #define in C:

  1. #define kan ook aliassen voor waarden definiëren, u kunt bijvoorbeeld 1 als ONE definiëren, 3.14 als PI, enz. Typedef is beperkt tot het geven van symbolische namen aan alleen typen.
  2. Preprocessors interpreteren #define-instructies, terwijl de compiler typedef-instructies interpreteert.
  3. Er mag geen puntkomma aan het einde van #define staan, maar een puntkomma aan het einde van typedef.
  4. In tegenstelling tot #define definieert typedef feitelijk een nieuw type door de definitiewaarden te kopiëren en te plakken.

Hieronder vindt u het C-programma om #define te implementeren:

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

>

>

Uitvoer

0 1 2>

Veelgestelde vragen over typedef in C

1. Wat is typedef in C?

De instructie C typedef definieert een alias of bijnaam voor het reeds bestaande gegevenstype.

2. Wat is typedef-structuur?

De typedef-struct is de instructie die wordt gebruikt om een ​​alias voor het structuurgegevenstype te definiëren.

3. Wat is typedef enum?

Het typedef enum wordt gebruikt om de alias voor het opsommingsgegevenstype te definiëren.