آرایههای چندبعدی در C
آرایههای دوبعدی و بالاتر برای ماتریسها و جدولها در C
آرایه چندبعدی
آرایه دوبعدی مثل یک جدول با سطر و ستون است. برای ماتریسها، صفحههای بازی مثل دوز و شطرنج عالی است:
تعریف آرایه دوبعدی
int matrix[3][4]; // ۳ سطر و ۴ ستون
مقداردهی
int matrix[2][3] = {
{1, 2, 3}, // سطر اول
{4, 5, 6} // سطر دوم
};
دسترسی به عناصر
printf("%d", matrix[0][1]); // 2 (سطر ۰، ستون ۱)
matrix[1][2] = 10; // تغییر عنصر
پیمایش با حلقه تو در تو
for (int i = 0; i < 2; i++) { // سطرها
for (int j = 0; j < 3; j++) { // ستونها
printf("%d ", matrix[i][j]);
}
printf("\n");
}
مثال: ماتریس ۳×۳
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// چاپ قطر اصلی
for (int i = 0; i < 3; i++) {
printf("%d ", matrix[i][i]); // 1 5 9
}
آرایه سهبعدی و بالاتر
int cube[2][3][4]; // ۲ صفحه، هر صفحه ۳ سطر و ۴ ستون
اما در عمل آرایههای بیش از دو بعد کمتر استفاده میشوند.
کاربردهای آرایه دوبعدی
- ماتریسهای ریاضی
- صفحه بازی (شطرنج، دوز، مینروب)
- تصاویر (پیکسلها)
- جدولهای داده
نکات مهم
- اندیسها جدا هستند:
matrix[i][j]نهmatrix[i, j] - حافظه آرایه دوبعدی در C بهصورت پیوسته و سطر به سطر ذخیره میشود
- برای پاس دادن به تابع، بعد دوم الزامی است:
void print(int m[][4], int rows)
این مبحث بخشی از دوره آموزش کامل زبان C است.