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