מהו struct?
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C של Coddy. שיעור 38 מתוך 63.
עד עכשיו עבדת עם טיפוסי הנתונים המובנים של C, כמו int, float ו־char. אבל מה אם צריך לקבץ יחד מידע קשור? כאן מבנים, או structs, הופכים ליקרי ערך.
struct הוא טיפוס נתונים שמוגדר על ידי המשתמש ומאפשר לך לשלב כמה משתנים מטיפוסים שונים תחת שם אחד. אפשר לחשוב עליו כמכל שמחזיק יחד פריטי מידע קשורים.
נניח שיש מערכת לניהול רשומות תלמידים. במקום לנהל משתנים נפרדים עבור כל פריט מידע על תלמיד, אפשר לקבץ אותם יחד:
// במקום משתנים נפרדים:
char student_name[50];
int student_id;
float student_grade;
// אפשר לקבץ אותם במבנה נתונים מסוג struct:
struct Student {
char name[50];
int id;
float grade;
};הגישה הזו הופכת את הקוד שלך למסודר יותר וקל יותר להבנה. כשאתה רואה struct Student, אתה יודע מיד שהוא מכיל את כל המידע החיוני על תלמיד. מבנים הם אבני בניין בסיסיות שעוזרות לך למודל ישויות מהעולם האמיתי בתוכניות שלך, והופכות את הקוד שלך להגיוני יותר וקל יותר לתחזוקה.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1יסודות המצביעים
מהו מצביע?הכרזה על מצביעיםאופרטור לקיחת הכתובת (&)אופרטור ביטול ההפניה (*)מצביעי NULLסיכום: יסודות המצביעים7מבנים (structs)
מהו struct?הכרזה על structיצירת משתני structגישה לאיברי structאתחול structסיכום: struct לנתוני תלמיד2מצביעים ומערכים
שמות מערכים כמצביעיםאיברי מערך ומצביעיםאריתמטיקה של מצביעיםהשוואת מצביעיםסיכום: מעבר על מערך באמצעות מצביעים5מצביעים ופונקציות
העברה לפי ערךהעברת מצביעים לפונקציותשינוי משתנים באמצעות מצביעיםדוגמה קלאסית: החלפההעברת מערכים לפונקציותחזרה: ארגומנטים של מצביעי פונקציה3מערכי תווים ומחרוזות
מחרוזות כמערכי charתו הסיום nullקלט מחרוזת באמצעות scanfשימוש ב־strlen()שימוש ב־strcpy()שימוש ב־strcat()שימוש ב־strcmp()סיכום: פונקציות מחרוזת בסיסיותתרגלו בעצמכם: קומפיילר C אונליין