נשלח בתאריך: 04 July 2005 בשעה 13:48 | | IP רשוּם
|
|
|
|
int *f
הגדרתי אותו ב main כי בקריאה אני משתמש בו
או שצריך להגדיר אותו בפונקציה??
בפונק add_rec יש לנו מצביע אל ראש השרשרת שמאתחלים אותו ל
NULL
עכשיו, כשמפעילים את add_rec - שולחים לה מצביע למבנה.
ואת מה שהיא מחזירה ... מציבים באותו משתנה המצביע אל ראש השרשרת!
כלומר, אם יש לנו משתנה בשם F, המצביע אל המבנה הראשון - אז ההפעלה נראית: ;(F= add_rec(F
זה בעצם מה שהיא צריכה לעשות: מהלך add_rec
ראשית - ניתן לקרוא לה ללא כל תנאי.
שנית מהלך הפונקציה
א. ביצוע הקצאה דינאמית
ב. אם א' נכשל הפונקציה תחזיר ערך null - וביצועה מסתיים
ג. מוקצה ערך ID לשדה ID (בכל הקצאה הוא צריך לגדול ב1 - כלומר זהו משתנה...)
ד. מבקשים מהמשתמש להכניס מחרוזת - יש לקלוט אותו לתוך מערך תווים (משתנה לוקלי בפונקציה)
ה. יש להעתיק את המחרוזת אל המבנה.
ו. בשדה next יש להציב NULL
ז. עכשיו יש לחבר את המבנה אל סוף השרשרת. איך עושים זאת?
יש כאן מקום למעט חשיבה...
מה קורה אם השרשרת שקיבלנו
בעצם ריקה? (מזכיר לכם - הפונקציה צריכה להחזיר מצביע אל ראש השרשרת)
ואם אינה ריקה... אז אנחנו
צריכים לגרום לכך שהמבנה האחרון בשרשרת - יצביע אל זה שעכשיו יצרנו.
האם בתוכנית עכשיו זה מה שמתבצע אני כבר מבולבל...?תיקנתי לפי מה שרשמת..אך עדיין זה נותן
suspicios pointer conversation
וגם type mistmach in parameter f
|