כתיבת קוד — שיעור 33
Dynamic Memory
כל 2 משימות הקוד שנשמרו מהשיעור מופיעות כאן, עם דרישות, דוגמאות וקוד פתיחה. אפשר לכתוב פתרון בעורך המקומי וללחוץ על „בדיקת AI” לקבלת ציון, רמזים והערות.
T3 · בינוני400 נק'~25 דק'build
מערך דינמי ב-C (malloc/realloc)
כתבו תוכנית C שקוראת מספרים שלמים מ-stdin (מופרדים ברווחים, עד EOF), שומרת אותם במערך שגדל דינמית עם realloc, ומדפיסה אותם בסדר הפוך (מופרדים ברווח, ירידת שורה בסוף). שחררו את הזיכרון עם free.
דוגמאות
1 2 3 4 5 → 5 4 3 2 1
הפתרון נשמר מקומית אוטומטית.
T3 · בינוני300 נק'~15 דק'analysis
זיהוי באג זיכרון
איזה סוג באג זיכרון קיים בקוד? הגישו את שם הבאג (למשל use-after-free / double-free / memory-leak / buffer-overflow).
int *p = malloc(sizeof(int));
*p = 42;
free(p);
printf("%d\n", *p); // <-- כאן הבאג
דוגמאות
(פורמט) → שם באג מנורמל
הפתרון נשמר מקומית אוטומטית.