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' .