|
עמוד:218
מתכנת יכול לבחור באחת משתי האפשרויות אלה כדי למפות מערך דו-ממדי ולאחסן אותו . בספר זה נשתמש במיפוי שורה , שהיא שיטת המיפוי המקובלת בשפות עיליות , כמו פסקל ושפת C האיור הבא מתאר מיפוי לפי שורות של מערך דו-ממדי בזיכרון לינארי ו למערך דו-ממדי , כמו למערך חד-ממדי , מוקצה בלוק של תאי זיכרון בהתאם לטיפוס האיברים . גודל הזיכרון ( מספר הבתים ) הדרוש למערך שיש בו n שורות ו111- עמודות , כאשר כל איבר הוא מטיפוס שמספר הסיביות בו הוא p בתים , מחושב על-ידי n-m p בתים . לדוגמה : למערך דו-ממדי בן 5 שורות ו4- עמודות , מטיפוס בית , יוקצו 4-5-1 = 20 בתים . אבל למערך מטיפוס מילה , באותו גודל , נצטרך להקצות 5-4-2 = 40 בתים בזיכרון . לדוגמה ההצהרה על מערך דו-ממדי מטיפוס בית , שיש בו 4 שורות ו5- עמודות , נרשמת כך ! a DB 4-5 DUP (?) הצהרה זו שקולה להצהרות הבאות ו כדי לאתחל את אברי המערך נרשום את ההצהרה הזו : a DB 20 DUP (?) a DB 4 dup ( 5 DUP (?) ) a DB 2 , 1 , 3 , 4 , 32 איור 6 . 3 א מערך דו-ממדי איור 6 . 3 ב מיפוי של מערך דו-ממדי לזיכרון לינארי
|
|