1. 程式人生 > >用一個迴圈遍歷二維陣列

用一個迴圈遍歷二維陣列

二維陣列最簡單的初始化方式就是搞兩個巢狀迴圈,每次i,j不停變換就達到給二維陣列的每個元素初始化。

for (int i = 0; i < N ; i++)
{
    for (int j = 0; j < N ; j++)
    {
        matrix[i][j]=0;
    }
    printf("\n");
}

這樣就可以訪問到每個元素並對其初始化值。
不過這是新手的玩兒法,要把C語言玩到極致,就可以嘗試一下用一次迴圈遍歷一個二維陣列

先貼出程式碼

#define N 10  // 定義一個10*10的矩陣

int matrix[N][N];
for (int i = 0; i < N
*N; i++) { matrix[i / N][i % 10] = 1; }

下面來講講如何做到的,首先我們要確定這個矩陣有多少個元素,N*N即是這個陣列的大小。我們需要在前一個索引填入行,後一個索引填入列,前面我們用i/N得到的值將會從1~10,i%10將會得到1~10 而這個矩陣也是一個10*10的。利用這點我們就可以對整個矩陣進行初始化。
可以挑戰一下一個迴圈初始化3,4維陣列