Der Typdefinition ist ein Schlüsselwort, mit dem bestehende Datentypen mit einem neuen Namen versehen werden. Das C-Schlüsselwort typedef wird verwendet, um den Namen bereits vorhandener Datentypen neu zu definieren.
Wenn es schwierig wird, Namen von Datentypen in Programmen zu verwenden, wird typedef mit benutzerdefinierten Datentypen verwendet, die sich ähnlich verhalten wie die Definition eines Alias für Befehle.
C-Typedef-Syntax
typedef existing_name alias_name;>
Nach dieser Deklaration können wir die verwenden Pseudonym als ob es das Echte wäre vorhandener_name in unserem C-Programm.
Beispiel für Typedef in C
typedef long long ll;>
Nachfolgend finden Sie das C-Programm zur Veranschaulichung der Verwendung von typedef.
C
Zeichenfolge in int
// 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;> }> |
>
>Ausgabe
20>
Verwendung von typedef in C
Im Folgenden sind einige häufige Verwendungen von typedef in der C-Programmierung aufgeführt:
- Das Schlüsselwort typedef gibt dem vorhandenen Datentyp einen aussagekräftigen Namen, der anderen Benutzern hilft, das Programm leichter zu verstehen.
- Es kann mit Strukturen verwendet werden, um die Lesbarkeit des Codes zu verbessern, und wir müssen struct nicht wiederholt eingeben.
- Das Schlüsselwort typedef kann auch mit Zeigern verwendet werden, um mehrere Zeiger in einer einzigen Anweisung zu deklarieren.
- Es kann mit Arrays verwendet werden, um eine beliebige Anzahl von Variablen zu deklarieren.
1. Typedef-Struktur
typedef kann auch mit Strukturen in der Programmiersprache C verwendet werden. Ein neuer Datentyp kann erstellt und zur Definition der Strukturvariablen verwendet werden.
Beispiel 1: Verwenden von typedef zum Definieren eines Namens für eine Struktur
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;> }> |
>
>Ausgabe
Name: Kamlesh Joshi Branch: Computer Science And Engineering ID_no: 108>
2. typedef mit Zeigern
typedef kann auch mit Zeigern verwendet werden, da es den Zeigern einen Aliasnamen gibt. Typedef ist beim Deklarieren mehrerer Zeiger in einer einzigen Anweisung sehr effizient, da Zeiger in der einfachen Deklaration rechts gebunden sind.
Beispiel:
typedef int* Int_ptr; Int_ptr var, var1, var2;>
In der obigen Anweisung werden var, var1 und var2 als Zeiger vom Typ int deklariert, was uns hilft, mehrere Zeiger in einer einzigen Anweisung zu deklarieren.
Beispiel 2: Verwenden von typedef zum Definieren eines Namens für den Zeigertyp.
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;> }> |
>
>Ausgabe
Value of var is 20>
3. typedef mit Array
typedef kann auch mit einem Array verwendet werden, um deren Anzahl zu erhöhen.
Beispiel:
typedef int arr[20]>
Hier ist arr ein Alias für ein Array aus 20 ganzzahligen Elementen.
// it's same as Arr[20], two-Arr[20][23]; arr Arr, two-Arr[23];>
Beispiel 3: Verwenden von typedef zum Definieren eines Alias für 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;> }> |
>
>Ausgabe
typedef using an array 10 20 30 40>
C-Typedef vs. #define
Im Folgenden sind die Hauptunterschiede zwischen typedef und #define in C aufgeführt:
- #define ist auch in der Lage, Aliase für Werte zu definieren. Sie können beispielsweise 1 als ONE, 3.14 als PI usw. definieren. Typedef ist darauf beschränkt, Typen nur symbolische Namen zu geben.
- Präprozessoren interpretieren #define-Anweisungen, während der Compiler typedef-Anweisungen interpretiert.
- Am Ende von #define sollte kein Semikolon stehen, sondern ein Semikolon am Ende von typedef.
- Im Gegensatz zu #define definiert typedef tatsächlich einen neuen Typ durch Kopieren und Einfügen der Definitionswerte.
Nachfolgend finden Sie das C-Programm zur Implementierung von #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; }> |
>
>Ausgabe
0 1 2>
FAQs zu Typedef in C
1. Was ist Typedef in C?
Die C-Typedef-Anweisung definiert einen Alias oder einen Spitznamen für den bereits vorhandenen Datentyp.
2. Was ist eine Typedef-Struktur?
Die Typedef-Struktur ist die Anweisung, mit der ein Alias für den Strukturdatentyp definiert wird.
3. Was ist Typedef-Enum?
Die Typedef-Enumeration wird verwendet, um den Alias für den Enumerationsdatentyp zu definieren.