Lets learn C
מערכים דו ממדים (מטריצות)
מערך דו ממדי הינו מבנה נתונים מתקדם יותר ממערך רגיל, אנו ממליצים לפני שמתחילים ללמוד על הנושא הזה לחזור אחורה
למערכים במידה ומשהו עדיין לא לגמרי מסתדר לכם.
ניתן להסתכל על מערך דו ממדי כעל מערך שמכיל בתוכו מערכים אחרים.
דוגמה לאיך נראה מערך דו ממדי:
שימו לב שהגישה לערכים בתוך המערך הדו ממדי מאוד דומה למערך רגיל.
למשל:
הערך במקום [3][0] הוא 1.
הערך במקום [2][2] הוא 9.
הערך במקום [1][3] הוא 87.
הערך במקום [1][2] הוא 8.
חשוב לציין שכמו בנושא מערכים גם מערכים דו ממדים יכולים להיות סטטיים או דינמיים.
נראה דוגמה ליצירת מערך סטטי:
בדרך זו יצרנו מערך בגודל 4 על 4.
כלומר, כמות התאים במערך שלנו תהיה 16.
נראה דוגמה ליצירת מערך דינמי:
שימו לב שפה אנו משתמשים במצביע כפול (כלומר דאבל-פוינטר).
לאחר יצירת המצביע הכפול, אנו עושים הקצאה דינאמית ראשונה שיוצרת לנו מערך של מצביעים.
לכל אחד מהמצביעים במערך אנו עושים הקצאה דינאמית ובכך משיגים מערך שמכיל בתוכו מערכים.
הערה: ניתן להשתמש בcalloc במקום malloc ובכך לדאוג שהמערך יהיה מאופס.
נניח שנרצה לחשב את הסכום כל ערכי המערך נוכל לעשות זאת באמצעות לולאה דו ממדית:
הדפסה של כל איברי המערך תתבצע בצורה הבאה: