هيكل Typedef في C++

Hykl Typedef Fy C



توفر لغة برمجة C++ كلمة رئيسية 'typedef' والتي تسمح للمطورين بإنشاء أسماء مستعارة لأنواع البيانات الموجودة والتي يمكن أن تكون أنواعًا بدائية أساسية مثل أنواع بيانات 'int' أو 'long' أو بنية محددة من قبل المستخدم. لا تؤدي الكلمة الأساسية 'typedef' إلى إنشاء نوع جديد. وبدلاً من ذلك، يقوم بإنشاء لقب (أو اسم مستعار) لنوع موجود. يمكن أن يؤدي استخدام 'typedef' إلى جعل التعليمات البرمجية أكثر قابلية للقراءة وتوفير الطاقة والوقت اللازمين لكتابة أسماء الأنواع الطويلة بشكل متكرر. ومع ذلك، إذا تم استخدامه كثيرًا في البرنامج، فقد يؤدي ذلك إلى جعل الكود مربكًا، خاصة في المشاريع الكبيرة. في هذه المقالة، سنستكشف كيفية تعريف البنية باستخدام 'typedef'، وكيف يساعد في تقليل سطر التعليمات البرمجية، وما هو استخدام 'typedef'، وغير ذلك الكثير بمساعدة الأمثلة التوضيحية.

فهم بنية Typedef في C++

في C++، 'typedef' هي كلمة أساسية توفر أسماء جديدة لأنواع البيانات المضمنة الحالية والمؤشرات والهياكل وأنواع البيانات المحددة من قبل المستخدم والتي تعمل كاسم مستعار في البرنامج بأكمله. وبعبارة بسيطة، فهو يعطي أسماء وصفية لأنواع البيانات المضمنة أو المعرفة من قبل المستخدم والتي يمكن أن تكون واضحة بذاتها. كما أنه يساعد على تقليل سطور التعليمات البرمجية وتبسيط أنواع البيانات المعقدة. ومع ذلك، كما ذكرنا سابقًا، لا يُنصح باستخدام الكثير من 'typedef' لأنه قد يؤدي إلى حدوث ارتباك.

البنية هي كلمة أساسية أخرى يتم استخدامها لتحديد البنية وتهيئتها. البنية في C++ عبارة عن تعريف لنوع البيانات المركب الذي يسمح للمطورين بتجميع أنواع البيانات أو المتغيرات المختلفة في مكان واحد.







في C++، 'struct' و'typedef struct' متماثلان. لا يوجد فرق عملي بين 'typedef struct' و'struct' لأنهما يعملان بنفس الطريقة. عندما يتم الإعلان عن فئة أو تعداد أو اتحاد أو بنية أو تعريفها في لغة C++، فليس من الضروري تعريفها ضمنيًا على أنها 'typedef' لأنها افتراضيًا 'typedef'.



بناء جملة Typedef Struct في C++

بناء جملة البنية 'typedef' هو نفس البنية التي لا تحتوي على 'typedef'. إنها تحتاج فقط إلى تعريف واضح لـ 'typedef' باستخدام الكلمة الأساسية 'struct'. انظر بناء الجملة الكامل في ما يلي:



typedef البنية {
< نوع البيانات > < متغير1 > ;
< نوع البيانات > < متغير2 > ;
< نوع البيانات > < متغير3 > ;
} < struct_name > ;

يتم تعريف البنية الآن ببساطة باستخدام . يمكننا تحديد متغيرات متعددة من هذا النوع من البنية. انظر التعريف التالي:





< struct_name > المتغير 4، المتغير 5، المتغير 6 ;

الآن، دعونا نستكشف بعض الأمثلة لفهم أوضح وأفضل لبنية 'typedef' في لغة C++.

مثال 1:

في المثال الأول لبنية 'typedef' في لغة C++، نأخذ برنامجًا بسيطًا لشرح كيفية تعريفه واستخدامه في مشاريع C++. شاهد الكود التالي ثم دعنا ننتقل إلى الشرح:



#تشمل
استخدام مساحة الاسم الأمراض المنقولة جنسيا ;
البنية عدد عشري {
كثافة العمليات 1 ديسمبر ;
كثافة العمليات ديسمبر2 ; } ;
كثافة العمليات رئيسي ( ) {
البنية عشري د ;
د. 1 ديسمبر = 10 ;
د. ديسمبر2 = 23 ;
cout << د. 1 ديسمبر << endl ;
cout << د. ديسمبر2 << endl ;
يعود 0 ; }

في كود C++ هذا، نحدد بنية عشرية ونوضح استخدامها داخل الوظيفة الرئيسية. دعونا نلقي نظرة على كل سطر من التعليمات البرمجية.

يبدأ البرنامج بتضمين ملف الرأس الضروري مثل '#include ' واستخدام مساحة الاسم 'std' لعمليات الإدخال/الإخراج وإدخال مساحة الاسم 'std' في النطاق. بعد ذلك، يتم تعريف بنية تسمى 'العشري'. تحتوي البنية على عضوين: 'dec1' و'dec2'، وكلاهما من النوع 'int'.

في الوظيفة الرئيسية، يتم إنشاء مثيل للبنية العشرية. ويتم ذلك باستخدام 'د؛' إعلان عشري. تحتوي البنية على عضوين، لذلك يمكننا الوصول إلى كليهما باستخدام المثيل 'd'. ويتم بعد ذلك تخصيص قيمتي 'dec1' و'dec2' بالقيمتين 10 و23، على التوالي، باستخدام التعريفين 'd.dec1' و'd.dec2'. وأخيرًا، تتم طباعة قيم 'dec1' و'dec2' على وحدة التحكم باستخدام 'cout'. ويعطي البرنامج المخرجات التالية:

تُظهر لقطة الإخراج المعطاة كيفية استخدام بنية 'typedef' بسيطة تسمى 'عشري' لتخزين ومعالجة رقمين عشريين داخل الوظيفة الرئيسية. تسمح بنية 'typedef' بتنظيم وإدارة البيانات ذات الصلة بشكل أفضل في برنامج C++.

مثال 2:

في المثال الذي شرحناه سابقًا، يتم تقديم نوع واحد فقط من البيانات في البنية. الآن، دعونا نحدد أنواعًا متعددة من البيانات في البنية ونرى كيف يمكن أن يساعد 'typedef' في تقليل سطر التعليمات البرمجية وتبسيط تعقيدات التعليمات البرمجية. الكود موضح في ما يلي للرجوع إليه:

#تشمل
استخدام مساحة الاسم الأمراض المنقولة جنسيا ;
typedef البنية قاموس {
كثافة العمليات بطاقة تعريف ;
اسم السلسلة ;
طويل رولنوم ;
شار اسم الفئة ;
} قاموس ;
كثافة العمليات رئيسي ( )
{
بيانات الإملاء ;
بيانات. بطاقة تعريف = عشرين ;
بيانات. اسم = 'كلسوم' ;
بيانات. رولنوم = 123456789 ;
بيانات. اسم الفئة = 'د' ;
cout << 'معرف المرشح هو =' << بيانات. بطاقة تعريف << endl ;
cout << 'اسم المرشح هو =' << بيانات. اسم << endl ;
cout << 'الرقم التسلسلي للمرشح هو =' << بيانات. رولنوم << endl ;
cout << 'اسم فئة المرشح هو =' << بيانات. اسم الفئة << endl ;
يعود 0 ;
}

مثل المثال السابق، بدأ هذا البرنامج أيضًا ملف الرأس الضروري مثل '#include ' واستخدام مساحة الاسم 'std' لإجراء عمليات الإدخال/الإخراج الأساسية. بعد ذلك، يتم تعريف بنية القاموس بأربعة أعضاء: المعرف والاسم وعدد اللفائف واسم الفئة. تقوم الكلمة الأساسية 'typedef' بإنشاء اسم مستعار 'dict' لهذه البنية. يسمح هذا الاسم المستعار بالإشارة إلى البنية ببساطة باسم 'dict' بدلاً من قاموس البنية.

الآن، في الوظيفة الرئيسية، نحدد أولاً مثيلًا لقاموس البنية المسمى 'dict' كبيانات تعمل كاسم مستعار لـ 'dict'. يتم تعيين القيم لكل عضو في البنية باستخدام العبارات التالية:

بيانات. بطاقة تعريف = عشرين ;
بيانات. اسم = 'كلسوم' ;
بيانات. رولنوم = 123456789 ;
بيانات. اسم الفئة = 'د' ;

كما ترون، هذه القيم هي من أنواع مختلفة – int، وstring، وlong، وchar. باستخدام عبارة 'cout'، نقوم بطباعة كافة القيم المحددة على وحدة التحكم. دعونا نرى مخرجات البرنامج في اللقطة التالية:

تعرض لقطة الشاشة الناتجة بوضوح استخدام 'typedef' مع البنية التي تحتوي على أنواع بيانات متعددة لإنشاء اسم مستعار للبنية. فهو يوفر طريقة أكثر إيجازًا وقابلية للقراءة وأبسط للعمل مع البنيات في برنامج C++ الكامل.

خاتمة

لتلخيص بنية 'typedef' في لغة C++، فإن 'typedef' هي كلمة أساسية تُستخدم في لغة C++ لإنشاء أسماء مستعارة لأنواع البيانات البدائية أو المضمنة أو المعرفة من قبل المستخدم. بالاقتران مع الكلمة الأساسية 'struct'، تعد 'typedef' أداة قوية لتحسين دقة التعليمات البرمجية ووضوحها. عادةً ما يساعد تعريف 'typedef' في تقليل سطور التعليمات البرمجية ومناطق الذاكرة. ومع ذلك، لا يُنصح باستخدام الكثير من 'typedef' في أي برنامج، سواء كان قصيرًا أو طويلًا، وفي المشاريع المعقدة لأنه قد يخلق غموضًا. في هذه المقالة، استكشفنا بنية 'typedef' بمساعدة أمثلة مباشرة لفهم عمل وتنفيذ واستخدام 'typedef' في برامج C++.