Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الإعلان عن Struct

جزء من قسم Logic & Flow في رحلة C على Coddy — الدرس 39 من 63.

الآن بعد أن فهمت ماهية الـ struct، حان الوقت لتعلم كيفية إنشاء أنواع الهياكل (structure types) الخاصة بك. يتبع التصريح عن struct في لغة C صيغة محددة تحدد المخطط الأساسي لنوع البيانات المخصص لك.

الصيغة الأساسية للتصريح عن struct هي:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... المزيد من الأعضاء
};

إليك كيفية عمل كل جزء: تبدأ بالكلمة المفتاحية struct، يتبعها اسم لهيكلك، ثم تسرد جميع المتغيرات الأعضاء داخل أقواس متعرجة. يتم التصريح عن كل عضو تماماً مثل المتغير العادي مع نوع البيانات واسمه. لا تنسَ الفاصلة المنقوطة بعد قوس الإغلاق!

على سبيل المثال، لإنشاء هيكل (structure) يمثل نقطة في فضاء ثنائي الأبعاد:

struct Point {
    int x;
    int y;
};

يُنشئ هذا التصريح نوع بيانات جديد يسمى struct Point يحتوي على عضوين من نوع الأعداد الصحيحة: x و y. بمجرد التصريح عنه، يمكن استخدام نوع الهيكل (structure) هذا في جميع أنحاء برنامجك لإنشاء متغيرات تحتفظ بمعلومات الإحداثيات بطريقة منظمة.

challenge icon

التحدي

سهل

أنشئ برنامجاً بلغة C يقوم بتعريف struct لتمثيل كتاب في نظام مكتبة. يجب أن يقوم برنامجك بما يلي:

  1. تعريف struct باسم Book يحتوي على الأعضاء التالية:
    • عدد صحيح id لتخزين رقم تعريف الكتاب
    • مصفوفة أحرف title بحجم 50 لتخزين عنوان الكتاب
    • عدد صحيح pages لتخزين عدد الصفحات
    • رقم عشري price لتخزين سعر الكتاب
  2. بعد تعريف الـ struct، اطبع رسالة تأكيد: Book struct defined successfully!
  3. اطبع حجم الـ Book struct بالبايت باستخدام sizeof() بالتنسيق التالي: Size of Book struct: [size] bytes
  4. اطبع حجم كل عضو بشكل فردي:
    • Size of id: [size] bytes
    • Size of title: [size] bytes
    • Size of pages: [size] bytes
    • Size of price: [size] bytes

يختبر هذا التحدي فهمك لقواعد تعريف الـ struct، بما في ذلك الاستخدام الصحيح للكلمة المفتاحية struct، وتعريف الأعضاء بأنواع البيانات المناسبة، والفاصلة المنقوطة بعد قوس الإغلاق. ستستكشف أيضاً كيف تخصص لغة C الذاكرة لأعضاء الـ struct باستخدام عامل sizeof().

تذكر أن قيم الحجم الدقيقة قد تختلف اعتماداً على بنية نظامك، ولكن يجب أن تكون قواعد تعريف الـ struct صحيحة حتى يتم تجميع البرنامج وتشغيله بنجاح.

ورقة مرجعية

للإعلان عن struct في لغة C، استخدم الصيغة التالية:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... المزيد من الأعضاء
};

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

مثال على هيكل Point:

struct Point {
    int x;
    int y;
};

يؤدي هذا إلى إنشاء نوع بيانات جديد يسمى struct Point مع عضوين من نوع الأعداد الصحيحة يمكن استخدامهما في جميع أنحاء برنامجك.

جرّب بنفسك

#include <stdio.h>

int main() {
    // TODO: قم بتعريف هيكل الكتاب (Book struct) هنا
    
    
    // طباعة رسالة تأكيد
    printf("Book struct defined successfully!\n");
    
    // TODO: اطبع حجم هيكل الكتاب وأعضائه
    
    
    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow