C typdef

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




// 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:

  1. #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.
  2. Förprocessorer tolkar #define-satser, medan kompilatorn tolkar typedef-satser.
  3. Det ska inte finnas något semikolon i slutet av #define, utan ett semikolon i slutet av typedef.
  4. 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.