c語言二維數組的使用方法:首先打開c語言腳本檔案並定義一個二維數組;然後呼叫一個自訂函數求二維數組每列元素中的最小值的和值;最後透過返回值傳回主函數輸出即可。
C語言的學習中,二維陣列可以算是基礎中比較重要的內容了,這篇文章主要講的是二維數組在C語言中的使用方法,希望能夠幫助你。
二維陣列定義的一般形式
#類型說明符陣列名稱[ 常數表達式][ 常數表達式];
例如:
int arr[3][4]
表示定義了一個3×4,即3 行4 列總共有12 個元素的陣列a。這12 個元素的名字依序是:a[0][0]、a[0][1]、a[0][2]、a[0][3];a[1][0]、a [1][1]、a[1][2]、a[1][3];a[2][0]、a[2][1]、a[2][2]、a[2 ][3]。
與一維數組一樣,行序號和列序號的下標都是從 0 開始的。元素 a[i][j] 表示第 i 1 行、第 j 1 列的元素。數組 int a[m][n] 最大範圍處的元素是 a[m–1][n–1]。所以在引用數組元素時應該要注意,下標值應在定義的數組大小的範圍內。
此外,與一維數組一樣,定義數組時用到的“數組名[常數表達式][常數表達式]”和引用數組元素時用到的“數組名[下標][下標]」是有差別的。前者是定義一個數組,以及該數組的維數和各維的大小。而後者只是元素的下標,像座標一樣,對應一個具體的元素。
二維陣列起始
1) 分行為二維陣列賦初值,如:
int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
這種賦初值的方法比較直觀,把每行看成一個元素,並依行賦初值。
2) 也可以將所有資料寫在一個花括號內,依數組排列的順序將各元素賦初值。例如:
int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
3) 也可以只對部分元素賦初值。例如:
int a[3][4] = {{1, 2}, {5}, {9}};
4) 如果在定義數組時就對全部元素賦初值,即完全初始化,則第一維的長度可以不指定,但第二維的長度不能省。例如:
int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
等價於:
int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
系統會根據資料總數和第二維度的長度算出第一維的長度。但這種省略的寫法幾乎不用,因為可讀性差。
5) 二維數組“清除零”,裡面每一個元素都是零,如下:
int a[3][4]={0};
二維數組如何輸入輸出
在一維數組中是用一個for 迴圈進行輸入輸出,而二維數組元素的輸入輸出要使用兩個for 迴圈嵌套。
下面有一個小範例,大家可以用來練練手:
//输入一个3行4列的二维数组的元素值 //调用一个自定义函数求二维数组每列元素中的最小值的和值 //和值通过返回值传回主函数输出 #include "stdio.h" int sum(int arr[3][4])//定义一个二维数组 { int sum = 0; for (int i = 0; i < 4; i++) { int min = arr[0][i]; for (int j = 1; j < 3; j++)//找出每列最小元素 if (min > arr[j][i]) min = arr[j][i]; sum += min;//每列最小元素相加 } return sum; } int main() { int arr[3][4]; for (int i = 0; i < 3; i++) //行 for (int j = 0; j < 4; j++)//列 scanf("%d", &arr[i][j]); //输入数组元素 int r = sum(arr); printf("%d\n", r);//输出每列最小元素之和 return 0; }
實作結果:
1 2 3 4 0 2 5 9 0 1 3 -1 3
相關教學:C影片教學
以上是c語言中二維數組怎麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!