Dvojrozmerné pole v C
Dvojrozmerné pole možno definovať ako pole polí. 2D pole je organizované ako matice, ktoré môžu byť reprezentované ako kolekcia riadkov a stĺpcov. 2D polia sú však vytvorené na implementáciu dátovej štruktúry podobnej relačnej databáze. Poskytuje jednoduchosť uchovávania veľkého množstva údajov naraz, ktoré možno odovzdať ľubovoľnému počtu funkcií, kedykoľvek je to potrebné.
Deklarácia dvojrozmerného poľa v C
Syntax na deklarovanie 2D poľa je uvedená nižšie.
data_type array_name[rows][columns];
Zvážte nasledujúci príklad.
int twodimen[4][3];
Tu je 4 počet riadkov a 3 je počet stĺpcov.
Inicializácia 2D poľa v C
V 1D poli nemusíme špecifikovať veľkosť poľa, ak sa deklarácia a inicializácia vykonávajú súčasne. Toto však nebude fungovať s 2D poliami. Budeme musieť definovať aspoň druhý rozmer poľa. Dvojrozmerné pole možno deklarovať a definovať nasledujúcim spôsobom.
int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}}; Príklad dvojrozmerného poľa 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++){> Príklad 2D poľa C: Ukladanie prvkov do matice a jej tlač.
#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++){>