The typedef to słowo kluczowe używane do nadania istniejącym typom danych nowej nazwy. Słowo kluczowe C typedef służy do redefiniowania nazw już istniejących typów danych.
Kiedy nazwy typów danych stają się trudne w użyciu w programach, typedef jest używany z typami danych zdefiniowanymi przez użytkownika, które zachowują się podobnie do definiowania aliasów dla poleceń.
Składnia typu C
typedef existing_name alias_name;>
Po tej deklaracji możemy użyć metody pseudonim jakby to było prawdziwe istniejąca nazwa w naszym programie C.
Przykład typedef w C
typedef long long ll;>
Poniżej znajduje się program w C ilustrujący sposób użycia 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;> }> |
>
>Wyjście
20>
Użycie typedef w C
Poniżej przedstawiono kilka typowych zastosowań typedef w programowaniu w języku C:
ml na uncje
- Słowo kluczowe typedef nadaje znaczącą nazwę istniejącemu typowi danych, co pomaga innym użytkownikom łatwiej zrozumieć program.
- Można go używać ze strukturami, aby zwiększyć czytelność kodu i nie musimy wielokrotnie wpisywać struct.
- Słowa kluczowego typedef można także używać ze wskaźnikami w celu zadeklarowania wielu wskaźników w jednej instrukcji.
- Można go używać z tablicami do deklarowania dowolnej liczby zmiennych.
1. struktura typedef
typedef można również używać ze strukturami w języku programowania C. Można utworzyć nowy typ danych i wykorzystać go do zdefiniowania zmiennej struktury.
Przykład 1: Użycie typedef do zdefiniowania nazwy 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;> }> |
>
wystąpienie
>Wyjście
Name: Kamlesh Joshi Branch: Computer Science And Engineering ID_no: 108>
2. typedef ze wskaźnikami
typedef może być również używany ze wskaźnikami, ponieważ nadaje aliasy wskaźnikom. Typedef jest bardzo wydajny podczas deklarowania wielu wskaźników w jednej instrukcji, ponieważ wskaźniki są powiązane z prawą stroną prostej deklaracji.
Przykład:
typedef int* Int_ptr; Int_ptr var, var1, var2;>
W powyższej instrukcji var, var1 i var2 są zadeklarowane jako wskaźniki typu int, co pomaga nam zadeklarować wiele liczb wskaźników w jednej instrukcji.
Przykład 2: Użycie typedef do zdefiniowania nazwy typu wskaźnika.
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;> }> |
>
>Wyjście
Value of var is 20>
3. typedef z Array
typedef można również użyć z tablicą, aby zwiększyć ich liczbę.
1nf 2nf 3nf
Przykład:
typedef int arr[20]>
Tutaj arr jest aliasem tablicy składającej się z 20 elementów całkowitych.
// it's same as Arr[20], two-Arr[20][23]; arr Arr, two-Arr[23];>
Przykład 3: Użycie typedef do zdefiniowania aliasu dla 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;> }> |
>
>Wyjście
typedef using an array 10 20 30 40>
Typedef w C vs #define
Poniżej przedstawiono główne różnice między typedef i #define w C:
- #define może również definiować aliasy dla wartości, na przykład możesz zdefiniować 1 jako ONE, 3.14 jako PI itd. Typedef ogranicza się do nadawania symbolicznych nazw tylko typom.
- Preprocesory interpretują instrukcje #define, podczas gdy kompilator interpretuje instrukcje typedef.
- Na końcu #define nie powinien znajdować się średnik, ale średnik na końcu typedef.
- W przeciwieństwie do #define, typedef faktycznie zdefiniuje nowy typ, kopiując i wklejając wartości definicji.
Poniżej znajduje się program C do implementacji #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; }> |
struktura w strukturze danych
>
>Wyjście
0 1 2>
Często zadawane pytania dotyczące typedef w C
1. Co to jest typedef w C?
Instrukcja C typedef definiuje alias lub pseudonim dla już istniejącego typu danych.
2. Co to jest struktura typedef?
Struktura typedef to instrukcja używana do definiowania aliasu dla typu danych struktury.
3. Co to jest wyliczenie typedef?
Wyliczenie typedef służy do definiowania aliasu dla typu danych wyliczeniowych.