آرایه های چند بعدی در زبان C
در قسمت قبل با آرایه های تک بعدی آشنا شدیم که یکی از پر کاربرد ترین نوع آرایه زبان C می باشد.
اما گاهی نیاز است اطلاعات را بصورت جدول (سطر و ستون) ذخیره کنیم.
آرایه چند بعدی یک آرایه از مجموع آرایه ها است.
در این قست در مورد آرایه دو بعدی، که از رایج ترین نوع آرایه های چند بعدی است، آموزش خواهیم داد.
آرایه های دو بعدی در زبان C
آرایه دو بعدی را به عنوان یک جدول ماتریسی که دارای سطر و ستون های مشخص است می شناسند.
در مثال زیر با اعداد صحیح یک آرایه دو بعدی ساخته ایم.
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
متغیر matrix دارای دو براکت است که براکت اول [2] تعداد سطرها و براکت دوم [3] تعداد ستون ها را مشخص می کند.
برای درک بهتر به جدول زیر نگاه کنید.
ستون 2 | ستون 1 | ستون 0 | |
2 | 4 | 1 | سطر 0 |
8 | 6 | 3 | سطر 1 |
نحوه دسترسی به عضو دلخواه آرایه های دو بعدی در زبان C
برای اینکه به عضو دلخواه آرایه های دوبعدی دسترسی داشته باشیم کافیست، موقعیت سطر و ستون عضو دلخواه را مشخص کنید.
برای مثال برای دسترسی به عضو سطر اول (0) و ستون سوم (2) بصورت زیر عمل می کنیم.
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
printf("%d", matrix[0][2]);
نکته: به یاد داشته باشید که هر عضو از آرایه را با شماره اندیس صدا می زنیم و شماره اندیس ها از 0 شروع می شود.
نحوه تغییر مقدار آرایه های دو بعدی در زبان C
حتماً تا الان حدس زده اید که چگونه می توان مقدار آرایه های دو بعدی را تغییر داد.
برای اینکار کافیست سطر و ستون عضو دلخواه را صدا زده و مقدار آن را تغییر دهید.
برای مثال عضوی از سطر اول (0) و ستون اول (0) را به عدد 9 تغییر داده ایم.
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
matrix[0][0] = 9;
printf("%d", matrix[0][0]); // نمایش خروجی عدد 9 بجای عدد 1
اجرا حلقه for با آرایه های دو بعدی در زبان C
برای اینکار به تمامی بُعد های آرایه ( سطر و ستون ) نیاز داریم.
در مثال زیر تمامی عضوهای یک آرایه دو بعدی ( ماتریسی ) را نمایش داده ایم.
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d\n", matrix[i][j]);
}
}