Dvourozměrné pole lze definovat jako pole polí. 2D pole je organizováno jako matice, které mohou být reprezentovány jako kolekce řádků a sloupců. 2D pole jsou však vytvořena pro implementaci datové struktury podobné relační databázi. Poskytuje snadné uchovávání velkého množství dat najednou, které lze předat libovolnému počtu funkcí, kdykoli je to potřeba.
np polstrování
Deklarace dvourozměrného pole v C
Syntaxe pro deklaraci 2D pole je uvedena níže.
data_type array_name[rows][columns];
Zvažte následující příklad.
int twodimen[4][3];
Zde 4 je počet řádků a 3 je počet sloupců.
Inicializace 2D Array v C
V 1D poli nemusíme specifikovat velikost pole, pokud se deklarace a inicializace provádějí současně. To však nebude fungovat s 2D poli. Budeme muset definovat alespoň druhý rozměr pole. Dvourozměrné pole lze deklarovat a definovat následujícím způsobem.
int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}};
Příklad dvourozměrného pole v C
#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 Příklad 2D pole: Uložení prvků do matice a její tisk.
#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++){>