|
עמוד:130
שהפונקציה func מבצעת על האופרטורים b-1 a אינו משפיע על משתני b-0 a שבפונקציה הראשית . המטרה שלנו היא לכתוב פונקציות שיאפשרו לשנות את ערכי הארגומנטים . ניתן לבצע זאת אם לא נעביר לפונקציה את ערכי המשתנים אלא את מיקומם בזיכרון . כל שינוי בתוכן הכתובת של המשתנה ישנה גם את ערכו . העברה כזו נקראת העברה לפי כתובת . ( by Address ) נדגים זאת : אנו רואים בדוגמה זו שימוש כמצביעים במשתנים היכולים להעביר משתנים לפונקציה על-ידי העברת הכתובת של המשתנה במקום העברת ערכו כפי שלמדנו עד היום . באופן זה הפונקציה יכולה לשנות את ערך של משתנה הקיים בפונקציה שקראה לה . בנוסף לזה , על-ידי שימוש כמצביעים הפונקציה יכולה להחזיר יותר מערך אחד לפונקציה הקוראת . עד עכשיו למדנו שפונקצית יכולה להחזיר רק ערך אחד . בהעברה לפי ערך הארגומנטים הם ביטויים כלשהם , בהעברה לפי כתובת הארגומנטים חייבים להיות משתנים . נדגים זאת על-ידי קטע מתכנית הכוללת פונקציה המקדמת משתנה באחד בכל פעם שהיא מופעלת . פונקציה זו מקבלת את ערך המונה ככתובת ולא כערך ?
|
|