logo

typedef ב-C

ה typedef היא מילת מפתח המשמשת בתכנות C כדי לספק כמה שמות משמעותיים למשתנה שכבר קיים ב- תוכנית C . הוא מתנהג באופן דומה כאשר אנו מגדירים את הכינוי עבור הפקודות. בקיצור, אנו יכולים לומר שמילת המפתח הזו משמשת להגדרה מחדש של שם של משתנה שכבר קיים.

תחביר של typedef

 typedef 

בתחביר לעיל, ' שם_קיים' הוא השם של משתנה שכבר קיים בעוד ' שם כינוי' הוא שם נוסף שניתן למשתנה הקיים.

לדוגמה, נניח שאנו רוצים ליצור משתנה מסוג int לא חתום , אז זה הופך למשימה מייגעת אם אנחנו רוצים להכריז על מספר משתנים מסוג זה. כדי להתגבר על הבעיה, אנו משתמשים typedef מילת מפתח.

 typedef unsigned int unit; 

בהצהרות לעיל, הכרזנו על יחידה משתנה מסוג unsigned int באמצעות typedef מילת מפתח.

כעת, אנו יכולים ליצור את המשתנים של הסוג int לא חתום על ידי כתיבת ההצהרה הבאה:

 unit a, b; 

במקום לכתוב:

 unsigned int a, b; 

עד כה, ראינו כי typedef מילת מפתח מספקת קיצור דרך נחמד על ידי מתן שם חלופי למשתנה שכבר קיים. מילת מפתח זו שימושית כאשר אנו עוסקים בסוג הנתונים הארוכים במיוחד, הצהרות מבנה.

mysql רשימת כל המשתמשים

בואו נבין באמצעות דוגמה פשוטה.

 #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. כעת, אנו יכולים להשתמש ב- סוּס הַרבָּעָה משתנה בתוכנית ליצירת המשתנים מסוג תלמיד מבנה .

ניתן לכתוב את ה-typedef שלמעלה כך:

תאריך מקומי
 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' .