logo

typedef C-ben

A typedef egy kulcsszó, amelyet a C programozásban használnak, hogy értelmes neveket adjon a már meglévő változóknak C program . Hasonlóan viselkedik, amikor meghatározzuk a parancsok álnevét. Röviden azt mondhatjuk, hogy ez a kulcsszó egy már létező változó nevének újradefiniálására szolgál.

A typedef szintaxisa

 typedef 

A fenti szintaxisban ' létező_név' egy már létező változó neve, miközben ' fedőnév' egy másik név, amelyet a meglévő változónak adnak.

Tegyük fel például, hogy egy típusú változót szeretnénk létrehozni aláíratlan int , akkor fárasztó feladattá válik, ha több ilyen típusú változót akarunk deklarálni. A probléma megoldására használjuk egy typedef kulcsszó.

 typedef unsigned int unit; 

A fenti nyilatkozatokban kinyilvánítottuk a Mértékegység unsigned int típusú változó a használatával egy typedef kulcsszó.

Most létrehozhatjuk a típusú változókat aláíratlan int az alábbi nyilatkozat megírásával:

 unit a, b; 

írás helyett:

 unsigned int a, b; 

Eddig azt figyeltük meg, hogy a typedef A kulcsszó szép parancsikont biztosít azáltal, hogy alternatív nevet ad egy már létező változóhoz. Ez a kulcsszó akkor hasznos, ha hosszú adattípusokkal, különösen struktúradeklarációkkal foglalkozunk.

hogyan lehet megtalálni a rejtett dolgokat androidon

Értsük meg egy egyszerű példán keresztül.

 #include int main() { typedef unsigned int unit; unit i,j; i=10; j=20; printf('Value of i is :%d',i); printf('
Value of j is :%d',j); return 0; } 

Kimenet

 Value of i is :10 Value of j is :20 

Typedef használata struktúrákkal

Tekintsük az alábbi szerkezeti deklarációt:

 struct student { char name[20]; int age; }; struct student s1; 

A fenti struktúradeklarációban létrehoztuk a változót diák írja be a következő utasítással:

 struct student s1; 

A fenti állítás egy változó, azaz s1 létrehozását mutatja, de az állítás elég nagy. Az ilyen nagy kijelentések elkerülése érdekében a typedef kulcsszót a típusú változó létrehozásához diák .

 struct student { char name[20]; int age; }; typedef struct student stud; stud s1, s2; 

A fenti utasításban deklaráltuk a változót ménes típusú struct diák. Most már használhatjuk a ménes változót a programban a típusú változók létrehozásához struktúra tanuló .

karakterlánc átalakítása egész számmá

A fenti typedef így írható:

 typedef struct student { char name[20]; int age; } stud; stud s1,s2; 

A fenti nyilatkozatokból arra következtetünk typedef kulcsszó csökkenti a kód hosszát és az adattípusok összetettségét. Ez is segít a program megértésében.

Lássunk egy másik példát, ahol begépeljük a struktúradeklarációt.

 #include typedef struct student { char name[20]; int age; }stud; int main() { stud s1; printf('Enter the details of student s1: '); printf('
Enter the name of the student:'); scanf('%s',&s1.name); printf('
Enter the age of student:'); scanf('%d',&s1.age); printf('
 Name of the student is : %s', s1.name); printf('
 Age of the student is : %d', s1.age); return 0; } 

Kimenet

 Enter the details of student s1: Enter the name of the student: Peter Enter the age of student: 28 Name of the student is : Peter Age of the student is : 28 

Typedef használata mutatókkal

A mutatóváltozóknak más nevet vagy álnevet is tudunk adni a segítségével a typedef .

Például általában deklarálunk egy mutatót, az alábbiak szerint:

 int* ptr; 

A fenti mutatóváltozót átnevezhetjük az alábbiak szerint:

 typedef int* ptr; 

A fenti utasításban deklaráltuk a típusú változót int* . Most létrehozhatjuk a típusú változót int* egyszerűen a ' ptr' változó, ahogy az alábbi utasításban látható:

 ptr p1, p2 ; 

A fenti nyilatkozatban p1 és p2 a ' típusú változók ptr' .