שיעור 16: מבנים — struct ו-typedef
מערך שומר הרבה ערכים מאותו טיפוס — אבל מה אם תלמיד צריך גם שם (מחרוזת) וגם ציון (מספר)? בשביל זה יש struct: הוא מקבץ שדות קשורים לטיפוס חדש אחד, למשל struct Student { char name[20]; int grade; };. ניגשים לשדה עם נקודה: s.grade = 95;, וממלאים שדה מחרוזת עם strcpy שלמדנו בשיעור הקודם. נכיר גם את t
struct הוא כמו תיק תלמיד במזכירות: תיקייה אחת עם תאים מסומנים — תא לשם, תא לציון. במקום לפזר פתקים בכל המשרד, הכול ביחד תחת שם אחד.
- struct (מבנה)
- טיפוס חדש שמקבץ כמה שדות קשורים — אפילו מטיפוסים שונים — תחת שם אחד.
- שדה (member)
- משתנה בתוך struct, כמו name או grade. לכל שדה טיפוס ושם משלו.
- אופרטור הנקודה s.grade
- הדרך לגשת לשדה של משתנה struct: שם המשתנה, נקודה, שם השדה.
- typedef
- נותן לטיפוס שם חדש. typedef struct {...} Student; מאפשר להכריז Student s; בלי המילה struct.
- מערך של מבנים
- Student class[30]; — שלושים תלמידים, לכל אחד שם וציון משלו: class[0].grade.