De typdef är ett nyckelord som används för att ge befintliga datatyper ett nytt namn. Nyckelordet C typedef används för att omdefiniera namnet på redan existerande datatyper.
När namn på datatyper blir svåra att använda i program, används typedef med användardefinierade datatyper, som beter sig på samma sätt som att definiera ett alias för kommandon.
C typedef Syntax
typedef existing_name alias_name;>
Efter denna deklaration kan vi använda alias namn som om det vore verkligheten existerande_namn i ut C-programmet.
Exempel på typedef i C
typedef long long ll;>
Nedan är C-programmet för att illustrera hur man använder typedef.
C
ram skådespelare
// 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;> }> |
>
>Produktion
20>
Användning av typedef i C
Följande är några vanliga användningsområden för typedef i C-programmering:
- Nyckelordet typedef ger ett meningsfullt namn till den befintliga datatypen som hjälper andra användare att förstå programmet lättare.
- Det kan användas med strukturer för att öka kodläsbarheten och vi behöver inte skriva struct upprepade gånger.
- Nyckelordet typedef kan också användas med pekare för att deklarera flera pekare i en enda sats.
- Den kan användas med arrayer för att deklarera valfritt antal variabler.
1. typedef struct
typedef kan också användas med strukturer i programmeringsspråket C. En ny datatyp kan skapas och användas för att definiera strukturvariabeln.
Exempel 1: Använda typedef för att definiera ett namn för en 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;> }> |
>
>Produktion
Name: Kamlesh Joshi Branch: Computer Science And Engineering ID_no: 108>
2. typedef med pekare
typedef kan också användas med pekare eftersom det ger ett aliasnamn till pekarna. Typedef är mycket effektivt när det deklarerar flera pekare i en enda sats eftersom pekare binder till höger på den enkla deklarationen.
Exempel:
typedef int* Int_ptr; Int_ptr var, var1, var2;>
I ovanstående sats deklareras var, var1 och var2 som pekare av typen int, vilket hjälper oss att deklarera flera antal pekare i en enda sats.
Exempel 2: Använda typedef för att definiera ett namn för pekartyp.
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;> }> |
>
>Produktion
Value of var is 20>
3. typedef med Array
typedef kan också användas med en array för att öka antalet.
Exempel:
typedef int arr[20]>
Här är arr ett alias för en matris med 20 heltalselement.
// it's same as Arr[20], two-Arr[20][23]; arr Arr, two-Arr[23];>
Exempel 3: Använda typedef för att definiera ett 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;> }> |
>
>Produktion
typedef using an array 10 20 30 40>
C typedef vs #define
Följande är den stora skillnaden mellan typedef och #define i C:
- #define kan också definiera alias för värden, till exempel kan du definiera 1 som ONE, 3.14 som PI, etc. Typedef är begränsad till att endast ge symboliska namn till typer.
- Förprocessorer tolkar #define-satser, medan kompilatorn tolkar typedef-satser.
- Det ska inte finnas något semikolon i slutet av #define, utan ett semikolon i slutet av typedef.
- Till skillnad från #define kommer typedef faktiskt att definiera en ny typ genom att kopiera och klistra in definitionsvärdena.
Nedan är C-programmet för att implementera #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; }> |
>
>Produktion
0 1 2>
Vanliga frågor om typedef i C
1. Vad är typedef i C?
C typedef-satsen definierar ett alias eller ett smeknamn för den redan existerande datatypen.
2. Vad är typedef struct?
Typedef-strukturen är satsen som används för att definiera ett alias för strukturdatatypen.
3. Vad är typedef enum?
Typdef enum används för att definiera aliaset för uppräkningsdatatypen.