|
עמוד:126
מצביע מטיפוס void * כאמור , כל מצביע תופס אותה כמות בתים בזיכרון המחשב . כדי לדעת כמה בתים תופס המשתנה שאליו מתייחס המצביע התכנית צריכה לדעת את טיפוס המשתנה . קיים מקרה חריג אחד שבו ניתן להגדיר להצהיר על מטיפוס כללי והוא מוגדר כך ו כמו מצביעים אחרים גם מצביע זה תופס אותה כמות בתים בזיכרון אך הטיפוס של הערך שעליו מצביע המצביע אינו מוגדר . מצב זה שימושי כאשר מקצים זיכרון באופן דינמי . כלומר , הגדרת משתנים חדשים נעשית כאשר התוכנה רצה ולא בשלב ההידור כפי שאנו נוהגים לעשות . במצב זה מתן להגדיר מצביע מסוג , void שתפקידו להצביע על טיפוס שאינו ידוע בשלב ההידור ואשר ייוצר תוך כדי הרצת התוכנה . טיפוסי מצביעים כאשר אנו מצהירים על מצביע חדש אנו חייבים להצהיר על טיפוס המצביע . לדוגמה , כאשר אנו רוצים ליצור מצביע למשתנה מטיפוס float אנו צריכים להצהיר עליו כך ו ניתן להצהיר על מצביע יחד עם הצהרה על המשתנה ולאתחל את המצביע כבר בזמן ההצהרה . לדוגמה כאשר מגדירים מצביע חדש לא חשוב הטיפוס שעליו הוא מצביע . המחשב מקצה לנו אותה כמות של זיכרון שתופסת כתובת אחת . אך על-פי הגדרת סוג המצביע מטיפוס מסוים המחשב יודע בכמה צעדים יש לקדם את הכתובת הרשומה במצביע כדי להגיע למשתנה הבא .
|
|