Menu
Coddy logo textTech

הכרזה על struct

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C של Coddy. שיעור 39 מתוך 63.

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

התחביר הבסיסי להכרזה על struct הוא:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... איברים נוספים
};

כך פועל כל חלק: מתחילים במילת המפתח struct, ואחריה מציינים שם למבנה, ואז מפרטים את כל המשתנים החברים בתוך סוגריים מסולסלים. כל חבר מוכרז בדיוק כמו משתנה רגיל, עם סוג הנתונים שלו ושמו. אל תשכחו את נקודה-פסיק אחרי הסוגר המסולסל הסוגר!

לדוגמה, כדי ליצור מבנה שמייצג נקודה במרחב דו־ממדי:

struct Point {
    int x;
    int y;
};

ההצהרה הזו יוצרת סוג נתונים חדש בשם struct Point שמכיל שני איברים שלמים: x ו־y. לאחר שהוגדר, ניתן להשתמש בסוג המבנה הזה לאורך כל התוכנית כדי ליצור משתנים שמחזיקים מידע על קואורדינטות באופן מאורגן.

challenge icon

אתגר

קל

כתבו תוכנית ב-C שמגדירה struct לייצוג ספר במערכת ספרייה. התוכנית שלכם צריכה:

  1. להגדיר struct בשם Book שמכיל את האיברים הבאים:
    • מספר שלם id לאחסון מספר הזיהוי של הספר
    • מערך תווים title בגודל 50 לאחסון שם הספר
    • מספר שלם pages לאחסון מספר העמודים
    • מספר נקודה צפה price לאחסון מחיר הספר
  2. לאחר הגדרת ה-struct, להדפיס הודעת אישור: Book struct defined successfully!
  3. להדפיס את גודל ה-struct Book בבתים באמצעות 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 חייב להיות נכון כדי שהתוכנית תתקמפל ותרוץ בהצלחה.

נסו בעצמכם

#include <stdio.h>

int main() {
    // TODO: הגדירו כאן את ה-struct Book שלכם
    
    
    // הדפיסו הודעת אישור
    printf("Book struct defined successfully!\n");
    
    // TODO: הדפיסו את הגודל של ה-struct Book ושל האיברים שלו
    
    
    return 0;
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר C אונליין