C typedef

Det typedef er et nøgleord, der bruges til at give eksisterende datatyper et nyt navn. C typedef nøgleordet bruges til at omdefinere navnet på allerede eksisterende datatyper.

Når navne på datatyper bliver svære at bruge i programmer, bruges typedef med brugerdefinerede datatyper, som opfører sig på samme måde som at definere et alias for kommandoer.

C typedef Syntaks

 typedef existing_name alias_name; 

Efter denne erklæring kan vi bruge alias_navn som om det var det rigtige eksisterende_navn i ud C-program.

Eksempel på typedef i C

 typedef long long ll; 

Nedenfor er C-programmet til at illustrere, hvordan man bruger 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 

Brug af typedef i C

Følgende er nogle almindelige anvendelser af typedef i C-programmering:

  • Typedef nøgleordet giver et meningsfuldt navn til den eksisterende datatype, som hjælper andre brugere med at forstå programmet lettere.
  • Det kan bruges med strukturer for at øge kodelæsbarheden, og vi behøver ikke at skrive struct gentagne gange.
  • Typedef nøgleordet kan også bruges med pointere til at erklære flere pointere i en enkelt sætning.
  • Det kan bruges med arrays til at erklære et vilkårligt antal variable.

1. typedef struct

typedef kan også bruges med strukturer i programmeringssproget C. En ny datatype kan oprettes og bruges til at definere strukturvariablen.

Eksempel 1: Brug af typedef til at definere et navn til 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 pointere

typedef kan også bruges med pointers, da det giver et alias navn til pointerne. Typedef er meget effektiv, mens den erklærer flere pointere i en enkelt erklæring, fordi pointere binder til højre på den simple erklæring.

Eksempel:

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

I ovenstående sætning er var, var1 og var2 erklæret som pointere af typen int, hvilket hjælper os med at erklære flere antal pointere i en enkelt sætning.

Eksempel 2: Brug af typedef til at definere et navn for markørtype.

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 også bruges sammen med et array for at øge deres antal.

Eksempel:

typedef int arr[20] 

Her er arr et alias for en matrix med 20 heltalselementer.

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

Eksempel 3: Brug af typedef til at definere et alias for 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ølgende er den største forskel mellem typedef og #define i C:

  1. #define er også i stand til at definere aliaser for værdier, for eksempel kan du definere 1 som ONE, 3.14 som PI osv. Typedef er begrænset til kun at give symbolske navne til typer.
  2. Preprocessorer fortolker #define-sætninger, mens compileren fortolker typedef-sætninger.
  3. Der skal ikke være et semikolon i slutningen af ​​#define, men et semikolon i slutningen af ​​typedef.
  4. I modsætning til #define vil typedef faktisk definere en ny type ved at kopiere og indsætte definitionsværdierne.

Nedenfor er C-programmet til at implementere #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 

Ofte stillede spørgsmål om typedef i C

1. Hvad er typedef i C?

C typedef-sætningen definerer et alias eller et kaldenavn for den allerede eksisterende datatype.

2. Hvad er typedef struct?

Typedef-strukturen er den sætning, der bruges til at definere et alias for strukturdatatypen.

3. Hvad er typedef enum?

Typedef enum bruges til at definere aliaset for opregningsdatatypen.