שאלה ממבחן בתכנות

B r u l e

New member
שאלה ממבחן בתכנות

רציתי שתחוו דעתכם את התשובה- האם אכן מגיע 0 נקודות מתוך 5, ומדוע אי אפשר לאתחל את הפויינטר ל- NULL. אם לדעתכם התשובה תקינה או חצי תקינה אשמח להסבר מקצועי ומפורט לצורך ערעור.
 

DecayCell

New member
פספסת לגמרי את הבעיה

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

eyalbd

New member
אכן, לא מגיעות נקודות על התשובה שלך

משום שמדובר במצביע בלבד ולא ידוע על מה הוא מצביע. גם NULL לא עוזר כי לא מצביע לשום אובייקט. הנכון הוא:
Complex z; complex_set(&z, 3, 5); ... או Complex z; Complex* p = &z; complex_set(p, 3, 5);​
 
למעלה