|
עמוד:122
הצהרה על מצביעים כדי להצהיר על מצביע יש לרשום את האופרטור * לפני שם המשתנה . לדוגמה בשורה הראשונה הצהרנו על משתנה מטיפוס "מצביע ««/ rtc בשם . p in בשורה השנייה הצהרנו על משתנה מטיפוס "מצביע "char-b בשם . p ch כדי שהתכנית תהיה קריאה יותר אפשר להגדיר את שמו של המשתנה מטיפוס מצביע באופן כזה שיתחיל כקידומת p ואחר-כך בשם של המשתנה המקורי שאליו המצביע מצביע . המשתנה . בזמן הרצת התכנית מוחלף השם הלוגי בכתובת של הבית הראשון שהוקצה למשתנה . מספר הבתים שהמהדר מקצה נקבע לפי טיפוס הנתונים של המשתנה . לדוגמה / למשתנה מסוג int מוקצים בדרך כלל ארבעה בתים בזיכרון . חשוב להדגיש שכמות הבתים שמקצה המחשב לאחסון משתנים מטיפוסים שונים תלוי בסוג המהדר . כלומר , מהדרים שונים יכולים להקצות כמות שונה של בתים לאותו טיפוס נתונים . הכתובת בזיכרון המחשב שבו מאוחסן משתנה כלשהו נקבעת על-ידי המהדר . למעשה המהדר קובע כתובת למשתנה ביחס לכתובת בסיס שאליה נטענת התכנית כשהיא מורצת . כתובת המשתנה נשארת קבועה לאורך כל התכנית . האופרטור & מחזיר את הכתובת שבו מאוחסן המשתנה שמופיע אחריו , לדוגמה ? הדפסנו את הכתובות בשתי צורות : - % p הכתובת תודפס בבסיס . 16 - % u הכתובת תודפס כמספר שלם . מהו מצביע ! מצביע הוא משתנה המכיל כתובת של משתנה אחר . ישנם טיפוסים שונים של מצביעים ן מצביע ל , ^ - מצביע ל , £ 10 ^ מצביע char-b וכדומה . גודל הזיכרון המוקצה לכל סוגי המצביעים זהה ! משום שמצביע מאחסן בכל מקרה את הכתובת הראשונה שמוקצה למשתנה .
|
|