שפת C/ניהול זיכרון דינאמי: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
מ שוחזר מעריכה של 79.177.107.32 (שיחה) לעריכה האחרונה של 84.229.53.228
שורה 458:
realloc(<old_ptr>, <total_size>)
</source>
כאשר old_ptr הואהיא כתובת הזיכרון המוקצאהמוקצאת הנוכחיהנוכחית, וtotal_size הוא הגודל החדש המבוקש (בבתים).
 
מערכת ההפעלה תנסה לראות האם אפשר לשנות את רצף הזיכרון הנוכחי לגודל המבוקש. אם הדבר אפשרי, הפונקציה תחזיר את כתובת הזיכרון של הרצף הנוכחי כ{{משמאל לימין|void *}} (בדיוק כפי שראינו מקודם ב[[שפת C/ניהול זיכרון דינאמי#הערך המוחזר|הקצאה]]). אם הדבר אינו אפשרי, היא תבדוק האם יש רצף אחר מתאים בזיכרון. אם היא הצליחה, היא תעתיק את תוכן הרצף הנוכחי לרצף החדש, תשחרר את הרצף הנוכחי, ותחזיר את כתובת הרצף החדש. אם אין רצף אחר מתאים בזיכרון, היא לא תשנה כלום בזיכרון (ובפרט, לא תשחרר את הרצף הנוכחי), ותחזיר NULL כדי לסמן שלא הצליחה.