logo

typedef в C

The typedef е ключова дума, използвана в програмирането на C, за да предостави някои смислени имена на вече съществуващата променлива в C програма . Той се държи по подобен начин, когато дефинираме псевдонима за командите. Накратко, можем да кажем, че тази ключова дума се използва за предефиниране на името на вече съществуваща променлива.

Синтаксис на typedef

 typedef 

В горния синтаксис, ' съществуващо_име' е името на вече съществуваща променлива, докато ' псевдоним име' е друго име, дадено на съществуващата променлива.

Да предположим например, че искаме да създадем променлива от тип unsigned int , тогава се превръща в досадна задача, ако искаме да декларираме множество променливи от този тип. За да преодолеем проблема, използваме тип деф ключова дума.

 typedef unsigned int unit; 

В горните твърдения ние декларирахме мерна единица променлива от тип unsigned int чрез използване тип деф ключова дума.

Сега можем да създадем променливите от тип unsigned int като напишете следното изявление:

 unit a, b; 

вместо да пише:

 unsigned int a, b; 

Досега сме наблюдавали, че typedef ключовата дума предоставя хубав пряк път, като предоставя алтернативно име за вече съществуваща променлива. Тази ключова дума е полезна, когато имаме работа с дълги типове данни, особено, структурни декларации.

обективна java

Нека разберем чрез прост пример.

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

Изход

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

Използване на typedef със структури

Разгледайте декларацията на структурата по-долу:

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

В горната декларация на структурата създадохме променливата на студент въведете, като напишете следното изявление:

 struct student s1; 

Горният израз показва създаването на променлива, т.е. s1, но операторът е доста голям. За да избегнем такова голямо изявление, използваме typedef ключова дума за създаване на променлива от тип студент .

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

В горното изявление сме декларирали променливата шпилка от тип struct student. Сега можем да използваме шпилка променлива в програма за създаване на променливи от тип struct студент .

Горният typedef може да бъде написан като:

оператор if else в java
 typedef struct student { char name[20]; int age; } stud; stud s1,s2; 

От горните декларации заключаваме, че typedef ключовата дума намалява дължината на кода и сложността на типовете данни. Също така помага за разбирането на програмата.

Нека да видим друг пример, където въвеждаме дефиниция на декларацията на структурата.

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

Изход

 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 с указатели

Можем също да предоставим друго име или псевдоним на променливите на указателя с помощта на typedef .

Например, ние обикновено декларираме указател, както е показано по-долу:

 int* ptr; 

Можем да преименуваме горната променлива на указателя, както е дадено по-долу:

 typedef int* ptr; 

В горния израз сме декларирали променливата тип int* . Сега можем да създадем променливата тип int* като просто използвате ' ptr' променлива, както е показано в изявлението по-долу:

 ptr p1, p2 ; 

В горното изявление, p1 и p2 са променливите от тип ' ptr' .