মাল্টিডাইমেনশনাল অ্যারে হলো একাধিক ডাইমেনশনের অ্যারে। সাধারণত টু-ডাইমেনশনাল (২D) অ্যারে ব্যবহৃত হয় যা সারি ও কলামে ডেটা সংরক্ষণ করে। মেমরিতে এটি রো-মেজর (Row-Major) বা কলাম-মেজর (Column-Major) অর্ডারে সংরক্ষিত হয়।
- Row-Major: সারি অনুযায়ী ডেটা রাখা (C/C++-এ ডিফল্ট)। ম্যাপিং ফাংশন: `i*c + j`
- Column-Major: কলাম অনুযায়ী ডেটা রাখা (Fortran-এ ডিফল্ট)। ম্যাপিং ফাংশন: `i + j*r`
উদাহরণ কোড (2D অ্যারে)
#include <stdio.h>
int main(){
int a[5][2] = {{0,0}, {1,2}, {2,4}, {3,6}, {4,8}};
int i, j;
for(i = 0; i < 5; i++){
for(j = 0; j < 2; j++){
printf("a[%d][%d] = %d\n", i, j, a[i][j]);
}
}
return 0;
}
আউটপুট
a[0][0]: 0 a[0][1]: 0 a[1][0]: 1 a[1][1]: 2 a[2][0]: 2 a[2][1]: 4 a[3][0]: 3 a[3][1]: 6 a[4][0]: 4 a[4][1]: 8