Menu
Coddy logo textTech

יצירת משתני struct

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

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

התחביר ליצירת משתנה מסוג struct הוא:

struct StructureName variableName;

לדוגמה, באמצעות המבנה Point מהשיעור הקודם:

struct Point p1;
struct Point p2;

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

אפשר ליצור משתני struct רבים ככל שתצטרכו, בדיוק כפי שהייתם עושים עם טיפוסים מובנים כמו int או float. כל משתנה struct הוא עצמאי ויכול להכיל ערכים שונים באיברים שלו. לאחר יצירתם, המשתנים האלה מוכנים לאחסן נתוני קואורדינטות בצורה מסודרת.

challenge icon

אתגר

קל

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

  1. להגדיר struct בשם Rectangle עם החברים הבאים:
    • מספר שלם width
    • מספר שלם height
  2. להגדיר struct בשם Student עם החברים הבאים:
    • מספר שלם id
    • מערך תווים name בגודל 30
    • מספר ממשי מסוג float gpa
  3. בפונקציה main, ליצור את משתני struct הבאים:
    • שני משתני Rectangle בשם rect1 ו-rect2
    • שלושה משתני Student בשם student1, student2 ו-student3
  4. להדפיס הודעות אישור עבור כל משתנה שנוצר, בדיוק בפורמט הזה:
    • Rectangle variable rect1 created
    • Rectangle variable rect2 created
    • Student variable student1 created
    • Student variable student2 created
    • Student variable student3 created
  5. להדפיס את המספר הכולל של משתני struct שנוצרו בפורמט: Total struct variables created: 5
  6. להדפיס את השימוש בזיכרון עבור כל סוג בפורמט:
    • Memory per Rectangle: [size] bytes
    • Memory per Student: [size] bytes

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

נסו בעצמכם

#include <stdio.h>

int main() {
    // TODO: הגדירו כאן את ה-struct בשם Rectangle
    
    // TODO: הגדירו כאן את ה-struct בשם Student
    
    // TODO: צרו כאן את משתני ה-struct
    
    // TODO: הדפיסו הודעות אישור עבור כל משתנה שנוצר
    
    // TODO: הדפיסו את המספר הכולל של משתני ה-struct שנוצרו
    
    // TODO: הדפיסו את השימוש בזיכרון עבור כל סוג struct באמצעות sizeof()
    
    return 0;
}
quiz iconבחנו את עצמכם

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

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

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