logo

C typedef

De typedef er et nøkkelord som brukes til å gi eksisterende datatyper et nytt navn. Nøkkelordet C typedef brukes til å omdefinere navnet på allerede eksisterende datatyper.

Når navn på datatyper blir vanskelige å bruke i programmer, brukes typedef med brukerdefinerte datatyper, som oppfører seg på samme måte som å definere et alias for kommandoer.

C typedef Syntaks

 typedef existing_name alias_name;>

Etter denne erklæringen kan vi bruke alias_name som om det var ekte eksisterende_navn i ut C-programmet.



Eksempel på typedef i C

 typedef long long ll;>

Nedenfor er C-programmet for å illustrere hvordan man bruker typedef.

C


sove i js



// 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;> }>

>

>

Produksjon

20>

Bruk av typedef i C

Følgende er noen vanlige bruksområder for typedef i C-programmering:

  • Typedef-nøkkelordet gir et meningsfullt navn til den eksisterende datatypen som hjelper andre brukere å forstå programmet lettere.
  • Den kan brukes med strukturer for å øke kodelesbarheten, og vi trenger ikke å skrive struct gjentatte ganger.
  • Typedef-nøkkelordet kan også brukes med pekere for å erklære flere pekere i en enkelt setning.
  • Den kan brukes med matriser for å deklarere et hvilket som helst antall variabler.

1. typedef struct

typedef kan også brukes med strukturer i programmeringsspråket C. En ny datatype kan opprettes og brukes til å definere strukturvariabelen.

Eksempel 1: Bruke typedef til å definere et navn for 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;> }>

>

>

Produksjon

Name: Kamlesh Joshi Branch: Computer Science And Engineering ID_no: 108>

2. typedef med pekere

typedef kan også brukes med pekere da det gir et aliasnavn til pekerne. Typedef er veldig effektivt mens den erklærer flere pekere i en enkelt setning fordi pekere binder seg til høyre på den enkle erklæringen.

Eksempel:

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

I setningen ovenfor er var, var1 og var2 erklært som pekere av typen int som hjelper oss å erklære flere antall pekere i en enkelt setning.

Eksempel 2: Bruke typedef for å definere et navn for pekertype.

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;> }>

>

>

Produksjon

Value of var is 20>

3. typedef med Array

typedef kan også brukes med en matrise for å øke antallet.

Eksempel:

typedef int arr[20]>

Her er arr et alias for en matrise med 20 heltallselementer.

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

Eksempel 3: Bruke typedef til å 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;> }>

>

>

Produksjon

typedef using an array 10 20 30 40>

C typedef vs #define

Følgende er hovedforskjellen mellom typedef og #define i C:

  1. #define er i stand til å definere aliaser for verdier også, for eksempel kan du definere 1 som ONE, 3.14 som PI, osv. Typedef er begrenset til å gi symbolske navn kun til typer.
  2. Forbehandlere tolker #define-setninger, mens kompilatoren tolker typedef-setninger.
  3. Det skal ikke være noe semikolon på slutten av #define, men et semikolon på slutten av typedef.
  4. I motsetning til #define, vil typedef faktisk definere en ny type ved å kopiere og lime inn definisjonsverdiene.

Nedenfor er C-programmet for å 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; }>

>

>

Produksjon

0 1 2>

Vanlige spørsmål om typedef i C

1. Hva er typedef i C?

C typedef-setningen definerer et alias eller et kallenavn for den allerede eksisterende datatypen.

2. Hva er typedef struct?

Typedef struct er setningen som brukes til å definere et alias for strukturdatatypen.

3. Hva er typedef enum?

Typedef enum brukes til å definere aliaset for oppregningsdatatypen.