פורסם 2007 בינואר 518 שנים שלום.אני רוצה לכתוב פונקציה ב- C (לא C++) שמקבלת פוינטר לתחילת רשימה מקושרת ומשחררת כל איבר ברשימה ולבסוף מחזירה את Head כ- NULL.תודה.רצ"ב פונקציה שכתבתי שלדעתי מוחקת הכל אך לא הצלחתי לבנות אותה כך שתחזיר NULL.[attachment deleted by admin]
פורסם 2007 בינואר 518 שנים אני מניח שניסיתי להוסיף בסוף את השורהHead = null;ותהית למה זה לא פעל.על מנת לשנות את הערך של הפרמטר שמתקבל לפונקציה, אתה צריך להעביר מצביע לערך הזה (כי ערכים ב-C עוברים by value, כלומר הם מועתקים).כלומר זה מה שאתה צריך לעשות:void FreeNymList (NymWord ** Head) { if ((*Head)->Next) { FreeNymList (&((*Head)->Next)); } free (*Head); *Head = null;}
פורסם 2007 בינואר 518 שנים מחבר אם הפונקציה אמורה למחוק את הרשימה, למה היא צריכה להחזיר משהו בכלל?כדי שאח"כ אני לא אצטרך ידנית לעדכן את ערך המצביע ל- NULL.תודה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.