Kétdimenziós tömb C-ben
A kétdimenziós tömb tömbök tömbjeként definiálható. A 2D tömb mátrixokba szerveződik, amelyek sorok és oszlopok gyűjteményeként ábrázolhatók. A 2D tömbök azonban egy relációs adatbázishoz hasonló adatstruktúra megvalósításához jönnek létre. Ez megkönnyíti az adatok nagy részének egyidejű tárolását, amelyek bárhol, bárhol, tetszőleges számú funkcióhoz továbbíthatók.
Kétdimenziós tömb deklarációja C-ben
A 2D tömb deklarálásának szintaxisa alább látható.
data_type array_name[rows][columns];
Tekintsük a következő példát.
int twodimen[4][3];
Itt 4 a sorok száma, 3 pedig az oszlopok száma.
2D tömb inicializálása C-ben
Az 1D tömbben nem kell megadnunk a tömb méretét, ha a deklaráció és az inicializálás egyszerre történik. Ez azonban nem működik 2D tömbök esetén. Meg kell határoznunk legalább a tömb második dimenzióját. A kétdimenziós tömb a következő módon deklarálható és definiálható.
int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}}; Példa kétdimenziós tömbre C-ben
#include int main(){ int i=0,j=0; int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}}; //traversing 2D array for(i=0;i<4;i++){ for(j="0;j<3;j++){" printf('arr[%d] [%d]="%d"
',i,j,arr[i][j]); } end of j i return 0; < pre> <p> <strong>Output</strong> </p> <pre> arr[0][0] = 1 arr[0][1] = 2 arr[0][2] = 3 arr[1][0] = 2 arr[1][1] = 3 arr[1][2] = 4 arr[2][0] = 3 arr[2][1] = 4 arr[2][2] = 5 arr[3][0] = 4 arr[3][1] = 5 arr[3][2] = 6 </pre> <h3>C 2D array example: Storing elements in a matrix and printing it.</h3> <pre> #include void main () { int arr[3][3],i,j; for (i=0;i<3;i++) { for (j="0;j<3;j++)" printf('enter a[%d][%d]: ',i,j); scanf('%d',&arr[i][j]); } printf('
printing the elements ....
'); for(i="0;i<3;i++)" printf('
'); printf('%d ',arr[i][j]); < pre> <p> <strong>Output</strong> </p> <pre> Enter a[0][0]: 56 Enter a[0][1]: 10 Enter a[0][2]: 30 Enter a[1][0]: 34 Enter a[1][1]: 21 Enter a[1][2]: 34 Enter a[2][0]: 45 Enter a[2][1]: 56 Enter a[2][2]: 78 printing the elements .... 56 10 30 34 21 34 45 56 78 </pre> <hr></3;i++)></pre></4;i++){> C 2D tömb példa: Elemek tárolása mátrixban és kinyomtatása.
#include void main () { int arr[3][3],i,j; for (i=0;i<3;i++) { for (j="0;j<3;j++)" printf(\'enter a[%d][%d]: \',i,j); scanf(\'%d\',&arr[i][j]); } printf(\'
printing the elements ....
\'); for(i="0;i<3;i++)" printf(\'
\'); printf(\'%d \',arr[i][j]); < pre> <p> <strong>Output</strong> </p> <pre> Enter a[0][0]: 56 Enter a[0][1]: 10 Enter a[0][2]: 30 Enter a[1][0]: 34 Enter a[1][1]: 21 Enter a[1][2]: 34 Enter a[2][0]: 45 Enter a[2][1]: 56 Enter a[2][2]: 78 printing the elements .... 56 10 30 34 21 34 45 56 78 </pre> <hr></3;i++)> 3;i++)> 4;i++){>