中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言中二維數組如何使用

發布時間:2020-09-22 14:31:21 來源:億速云 閱讀:153 作者:小新 欄目:編程語言

小編給大家分享一下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語言中二維數組如何使用的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼和浩特市| 都兰县| 潮安县| 盐池县| 于田县| 繁峙县| 镇远县| 南丰县| 米泉市| 禹城市| 武安市| 通海县| 太谷县| 祁东县| 长治市| 阳朔县| 临西县| 旌德县| 漳浦县| 阳春市| 邵阳市| 江西省| 乐昌市| 新泰市| 蛟河市| 木里| 隆昌县| 察雅县| 荆门市| 河间市| 吴旗县| 扶绥县| 黎城县| 保靖县| 北辰区| 修水县| 安仁县| 广西| 砀山县| 仙桃市| 普洱|