logo

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.

város az Egyesült Államokban

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&lt;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&lt;3;j++)" printf('enter a[%d][%d]: ',i,j); scanf('%d',&arr[i][j]); } printf('
 printing the elements ....
'); for(i="0;i&lt;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&lt;3;j++)" printf(\'enter a[%d][%d]: \',i,j); scanf(\'%d\',&arr[i][j]); } printf(\'
 printing the elements ....
\'); for(i="0;i&lt;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++)>