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

תוכן שנמחק תוכן שנוסף
יעל י (שיחה | תרומות)
מ שוחזר מעריכה של 84.110.26.178 (שיחה) לעריכה האחרונה של יעל י
SagiLotan (שיחה | תרומות)
מאין תקציר עריכה
שורה 71:
 
===מחסנית הזיכרון===
הפונקציות בתוכנה מאוחסנות כמו במחסנית של רובה.
כך שהכדור האחרון שניכנס יהיה הראשון לצאת או לחליפין הפונקציה האחרונה תצא ראשונה.
בכל פעם שאנו קוראים לפונקציה , המחשב שומר בזכרונו את המצב האחרון בו היינו. אם, למשל, קראנו פעם אחת לפונקציה "printMe" מה-main, המחשב שומר בזכרונו את המצב האחרון בו הייתה ה-main - באיזו שורה היינו, מה מצב המשתנים המקומיים שלה, וכן הלאה. אם הפונקציה לה קראנו קראה לפונקציה נוספת - גם מצבה של זו נשמר, וכן הלאה. כל המידע הזה נשמר במבנה ה"מחסנית" (באנגלית - Stack), בו הנתון האחרון שנכנס(כפי שהוסבר בראשית) - הוא הנתון הראשון שיוצא. כשמסתיימת פעולתה של שיטה - היא נמחקת מהמחסנית.
[[קובץ:Data_stack.svg |thumb|האיור מציג בצורה גרפית את תאוריית המחסנית כך שכול ריבוע כחול מיצג פונקציה]]
 
{{להשלים}}