الانتقال إلى المحتوى الرئيسي

كيفية تهيئة هيكل في ج: دليل بسيط وبديهي

  • الدكتورة ياسمين بني هاجر
  • الأسئلة

الهياكل هي واحدة من الأدوات الرئيسية في لغة البرمجة ج. تسمح لك بتجميع أنواع بيانات مختلفة تحت اسم واحد ، مما يسهل العمل مع عدد كبير من المتغيرات. ومع ذلك ، من المهم معرفة كيفية تهيئة الهياكل من أجل تعيين القيم الافتراضية بشكل صحيح وتحديد سلوكها بدقة.

الفكرة الأساسية لتهيئة الهياكل في ج هو تعيين قيم لكل عنصر من عناصر الهيكل عند إنشائه. للقيام بذلك ، يمكنك استخدام الأقواس المتعرجة وتحديد القيم لكل عنصر بالترتيب المطلوب. على سبيل المثال:

نقطة الهيكل {

إنت إكس;

إنت ذ;

};

نقطة الهيكل ص = {0 ، 0};

في هذا المثال ، أنشأنا بنية تسمى نقطة تحتوي على متغيرين من النوع كثافة العمليات-س و ص. ثم قمنا بتهيئة بنية ص ، وتعيين قيم 0 لكلا المتغيرين. هذا يسمح لنا بإنشاء بنية بالقيم الافتراضية المحددة.

بالإضافة إلى ذلك ، يمكنك تهيئة البنية عن طريق تحديد القيم لعناصر معينة فقط. في هذه الحالة ، ستأخذ العناصر المتبقية قيمها الافتراضية. على سبيل المثال:

نقطة الهيكل {

إنت إكس;

إنت ذ;

};

نقطة الهيكل ص = {0};

في هذا المثال ، قمنا بتهيئة المتغير الأول فقط من بنية ص باستخدام القيمة 0. المتغير الثاني ص سيأخذ القيمة الافتراضية ، وهي 0.

  1. تهيئة هيكل في ج: دليل بسيط وبديهي
  2. تهيئة الهيكل عند الإعلان
  3. تهيئة الهيكل بعد الإعلان
  4. التهيئة المختلطة
  5. تهيئة الهياكل المتداخلة
  6. تهيئة صفائف الهياكل
  7. تحديد الهيكل
  8. إعلان الهيكل
  9. تهيئة بنية فارغة
  10. تهيئة بنية ذات قيم أولية
  11. تهيئة بنية باستخدام المؤشرات
  12. الهياكل المتداخلة
  13. استخدام تيبيديف للراحة
  14. سؤال وجواب
  15. كيفية إنشاء هيكل في ج?
  16. هل من الممكن تهيئة هيكل عند إعلانه في ج?
  17. كيف يمكنني تعيين قيم بعض حقول الهيكل فقط في ج?
  18. هل من الممكن استخدام القيم المتغيرة لتهيئة بنية في ج?
  19. كيف يمكنني تهيئة هيكل مع مؤشر وظيفة في ج?
  20. هل يمكنني تهيئة حقل هيكل مع صفيف في ج?

تهيئة هيكل في ج: دليل بسيط وبديهي

الهياكل هي واحدة من العناصر الرئيسية للغة البرمجة ج. إنها تسمح لك بدمج عدة متغيرات من أنواع مختلفة في وحدة واحدة. ومع ذلك ، قبل أن تتمكن من البدء في استخدام الهياكل ، تحتاج إلى تهيئتها. في هذه المقالة ، سوف ننظر في كيفية القيام بذلك بطريقة بسيطة ومفهومة.

تتضمن تهيئة البنية تعيين القيم الأولية لحقولها. في ج ، يمكن القيام بذلك بطرق مختلفة.

تهيئة الهيكل عند الإعلان

.

شخص الهيكل {

كثافة العمليات العمر;

اسم الحرف [50];

};

هيكل شخص شخص = {25 ، "جون"};

تهيئة الهيكل بعد الإعلان

.

شخص الهيكل {

كثافة العمليات العمر;

اسم الحرف [50];

};

هيكل شخص شخص;

شخص.العمر = 25;

ستركبي(person.name ، "جون");

التهيئة المختلطة

التهيئة المختلطة ممكنة أيضا عندما يتم تعيين القيم فقط لبعض حقول الهيكل. في هذه الحالة ، تتم تهيئة الحقول المتبقية تلقائيا باستخدام الأصفار أو القيم الفارغة ، اعتمادا على نوع البيانات.

شخص الهيكل {

كثافة العمليات العمر;

اسم الحرف [50];

};

هيكل شخص شخص = {.العمر=25};

تهيئة الهياكل المتداخلة

إذا كانت البنية تحتوي على هياكل متداخلة ، فيمكن إجراء التهيئة بنفس طريقة تهيئة الحقول العادية.

عنوان الهيكل {

مدينة شار [50];

شارع شار [50];

};

شخص الهيكل {

كثافة العمليات العمر;

اسم الحرف [50];

هيكل العنوان العنوان;

};

هيكل شخص شخص = {25 ، " جون " ، {"مدينة" ، "شارع"}};

تهيئة صفائف الهياكل

يمكن أيضا دمج الهياكل في صفائف. في هذه الحالة ، تشبه تهيئة هياكل عناصر المصفوفة تهيئة الهياكل العادية.

شخص الهيكل {

كثافة العمليات العمر;

اسم الحرف [50];

};

هيكل شخص الناس [] = {{25 ، "جون"} ، {30 ، "جين"}};

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

تحديد الهيكل

الهيكل في ج هو نوع بيانات مخصص يسمح لك بدمج عدة متغيرات من أنواع مختلفة في وحدة واحدة ، تسمى البنية. يحدد تعريف الهيكل هيكله والحقول التي يحتوي عليها.

عادة ما يبدو تعريف الهيكل كما يلي:

الاسم{
نوع الحقل _1_1; // التعليق على الحقل 1
نوع الحقل_2 الحقل_الاسم; // التعليق على الحقل 2
… // التعليق على المجالات الأخرى
};

أين:

  • اسم الهيكل هو معرف يشير إلى اسم الهيكل;
  • نوع الحقل - نوع بيانات حقل الهيكل;
  • اسم_الحقلهو معرف يشير إلى اسم حقل الهيكل.

يمكن تقديم التعليقات على حقول الهيكل لشرح الغرض من كل حقل.

مثال على تعريف الهيكل:

موظف الهيكل

{

معرف كثافة العمليات;

اسم الحرف [50];

تعويم الراتب;

};

في هذا المثال ، يتم تعريف هيكل الموظف ، والذي يحتوي على الحقول معرف من نوع كثافة العمليات ، اسم نوع شار [50] وراتب نوع تعويم.

إعلان الهيكل

البنية في لغة البرمجة سي هي نوع بيانات مخصص يسمح لك بدمج عدة متغيرات من أنواع مختلفة في كيان منطقي واحد. يحدد إعلان الهيكل هيكله ، أي أنه يحدد المتغيرات التي يتم تضمينها في الهيكل وأنواعها.

يبدأ إعلان الهيكل ببنية الكلمة الرئيسية ، متبوعا باسم الهيكل. ثم تشير الأقواس المتعرجة إلى المتغيرات التي تشكل جزءا من الهيكل. يتم تمثيل كل متغير كنوع متبوعا باسم متغير.

مثال على إعلان بنية تسمى " شخص "، والتي تحتوي على متغيرات" الاسم "و" العمر "للأنواع" شار " و "كثافة العمليات" ، على التوالي:

شخص الهيكل {

اسم الحرف [20];

كثافة العمليات العمر;

};

في هذا المثال ، نعلن بنية تسمى " شخص " ، والتي تحتوي على متغيرين:" اسم "من النوع" شار[20] "و" عمر "من النوع"كثافة العمليات".

بعد الإعلان عن بنية ، يمكننا إنشاء متغيرات من هذا النوع باستخدام اسم البنية متبوعا باسم المتغير:

هيكل شخص شخص1;

هيكل شخص شخص2;

الآن أنشأنا متغيرين من نوع" شخص "مع أسماء" شخص 1 "و"شخص 2". يمكننا الوصول إلى متغيرات الهيكل باستخدام"."المشغل واسم المتغير. على سبيل المثال ، للإشارة إلى متغير "الاسم" في بنية "الشخص 1" ، يمكننا كتابة:

person1.name = "جون";

يتيح لك الإعلان عن بنية إنشاء أنواع بيانات مخصصة ملائمة للاستخدام لتخزين مجموعة من القيم من أنواع مختلفة والعمل معها.

تهيئة بنية فارغة

إن تهيئة بنية فارغة في لغة البرمجة سي تعني تعيين قيم أولية لحقولها ، عندما لا يتم تعيين قيم افتراضية لها عند إنشاء البنية.

في ج ، عندما نقوم بإنشاء بنية ، يمكن أن تحتوي جميع حقولها على قيم القمامة. لتجنب هذا الموقف وتعيين القيم الأولية ، يمكننا تعيينها يدويا باستخدام عامل التعيين.

لتهيئة بنية فارغة ، يمكننا استخدام نهجين: التهيئة من خلال عامل التعيين أو التهيئة من خلال الأقواس المتعرجة.

عند التهيئة عبر عامل التعيين ، نحدد ببساطة متغير الهيكل وحقوله ، ثم نعين القيمة الأولية:

هيكل الشخص ص;

p.name = "";

ص. العمر = 0;

عند التهيئة من خلال الأقواس المتعرجة ، نقوم بتعيين القيم الأولية داخل الأقواس المتعرجة بترتيب الإعلان عن حقول الهيكل:

شخص الهيكل ص = {""،0 };

عند استخدام الأقواس المتعرجة لتهيئة بنية فارغة ، يجب عليك تحديد جميع حقول الهيكل بالترتيب الصحيح ، وإلا سيحدث خطأ في التجميع.

تتيح لك تهيئة بنية فارغة ضمان أمان البيانات والثقة في قيم حقول الهيكل منذ بداية وجودها.

تهيئة بنية ذات قيم أولية

عند إنشاء بنية في ج ، يمكننا تعيين القيم الأولية لحقولها أثناء التهيئة. يتيح لنا ذلك تعيين قيم افتراضية معينة أو تهيئة بنية ببيانات محددة.

هناك عدة طرق لتهيئة هيكل بقيم أولية:

  1. التهيئة أثناء الإعلان: عند الإعلان عن بنية ، يمكننا تحديد القيم الأولية لحقولها باستخدام الأقواس المتعرجة.
  2. التهيئة باستخدام . (نقطة) تدوين: يمكننا تهيئة حقول الهيكل بشكل فردي باستخدام تدوين النقاط.
  3. التهيئة حسب نوع الصب: إذا أردنا تهيئة بنية باستخدام بنية موجودة أو مؤشر إلى بنية ، فيمكننا استخدام نوع الصب.

فيما يلي أمثلة على كل من هذه الطرق:

الطريقةمثال
التهيئة في الإعلان
إنت ذ;

التهيئة باستخدام تحويل النوع

  1. شخص الهيكل {

اسم الحرف [20];
كثافة العمليات العمر;
};

هيكل الشخص الشخص1 = {"جون سميث" ، 25};

// التهيئة باستخدام تحويل النوع

هيكل شخص شخص2 = (هيكل شخص)شخص1;

من المهم ملاحظة أنه عند تهيئة بنية ، يمكننا تعيين قيم أولية للحقول فقط ، وليس للهيكل بأكمله.

تهيئة بنية باستخدام المؤشرات

تهيئة بنية باستخدام مؤشرات في لغة البرمجة ج يسمح لك بإنشاء مثيلات جديدة للهيكل وتهيئة قيمها فور الإعلان. للقيام بذلك ، يتم استخدام الحرف ` * ' قبل اسم المتغير ، مما يشير إلى أن المتغير هو مؤشر للهيكل.

يمكن تقسيم عملية تهيئة الهيكل باستخدام المؤشرات إلى عدة خطوات:

تعريف الهيكل.

إعلان مؤشر إلى بنية.

تخصيص الذاكرة لهيكل باستخدام` مالوك () `أو` كالوك () ' المشغل.

تهيئة حقول الهيكل عبر مؤشر.

مثال على تهيئة بنية باستخدام المؤشرات:

مثال

الوصف

من شخص الهيكل * شخص;

إعلان مؤشر إلى بنية الشخص.

شخص = (شخص بنية*) مالوك (حجم (شخص بنية));

تخصيص الذاكرة لهيكل الشخص باستخدام وظيفة` مالوك ()'.

شخص - > الاسم = "جون";

تهيئة حقل الاسم عبر مؤشر.

الشخص- > العمر = 25;

تهيئة حقل العمر عبر مؤشر.

بعد الانتهاء من العمل مع بنية تهيئة ، فمن الضروري لتحرير الذاكرة المخصصة لذلك باستخدام وظيفة `الحرة ()`. هذا مهم لتجنب تسرب الذاكرة.

يتيح لك استخدام المؤشرات عند تهيئة بنية استخدام الذاكرة بشكل أكثر كفاءة ويبسط الوصول إلى حقول الهيكل.

الهياكل المتداخلة

في ج ، يمكنك إعلان الهياكل ذات الهياكل المتداخلة ، مما يسمح لك بإنشاء هياكل بيانات أكثر تعقيدا.

لإعلان بنية متداخلة ، استخدم الكلمة الأساسية للبنية وحدد بنية أخرى بداخلها.

مثال على إعلان بنية متداخلة:

# تشمل

وقت الهيكل {

ساعات العمل;

دقيقة كثافة العمليات;

كثافة العمليات ثانية;

};

تاريخ الهيكل {

يوم كثافة العمليات;

الشهر الدولي;

السنة الدولية;

};

حدث الهيكل {

تاريخ الهيكل التاريخ;

وقت الهيكل الوقت;

وصف شار [100];

};

كثافة العمليات الرئيسية () {

حدث الهيكل الحدث 1;

حدث1.التاريخ.اليوم = 12;

حدث1.التاريخ.الشهر = 3;

حدث1.التاريخ.السنة = 2022;

حدث1.الوقت.ساعات = 15;

حدث1.الوقت.الدقائق = 30;

حدث1.الوقت.الثواني = 0;

ستركبي (حدث1.الوصف ، "اجتماع مهم");

برينتف ("وصف الحدث: ٪ الصورة

"،الحدث 1.الوصف);

برينتف ("تاريخ الحدث: ٪ د. ٪ د. ٪ د

"،الحدث 1.التاريخ.اليوم ، الحدث 1.التاريخ.الشهر ، الحدث 1.التاريخ.السنة);

برينتف ("وقت الحدث: ٪ د: ٪ د: ٪ د

"،الحدث 1.الوقت.ساعات, حدث1.الوقت.دقائق ، حدث1.الوقت.ثواني);

العودة 0;

}

في هذا المثال ، يتم الإعلان عن هياكل الوقت والتاريخ والحدث. يتضمن هيكل الحدث هياكل التاريخ والوقت المتداخلة. يتم إنشاء مثيل لهيكل الحدث المسمى الحدث 1 في الوظيفة الرئيسية. ثم تمتلئ قيم حقول هذا الهيكل وهياكله المتداخلة بالقيم. يتم عرض قيم حقول بنية الحدث على الشاشة.

يسمح لك استخدام الهياكل المتداخلة بدمج العديد من البيانات ذات الصلة في كيان واحد ، مما يبسط العمل معها ويزيد من سهولة قراءة الكود.

استخدام تيبيديف للراحة

في لغة البرمجة ج ، يمكنك استخدام الكلمة تيبيديف لإنشاء اسم مستعار لنوع البيانات. يمكن أن يكون هذا مفيدا عند العمل مع الهياكل لتجنب الاضطرار إلى تحديد الكلمة الأساسية للبنية في كل مرة عند الإعلان عن المتغيرات.