溫馨提示×

溫馨提示×

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

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

c語言中二維數(shù)組如何使用

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

小編給大家分享一下c語言中二維數(shù)組如何使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

二維數(shù)組定義的一般形式

類型說明符 數(shù)組名[ 常量表達式][ 常量表達式];

例如:

int arr[3][4]

表示定義了一個 3×4,即 3 行 4 列總共有 12 個元素的數(shù)組 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]。

與一維數(shù)組一樣,行序號和列序號的下標(biāo)都是從 0 開始的。元素 a[i][j] 表示第 i+1 行、第 j+1 列的元素。數(shù)組 int a[m][n] 最大范圍處的元素是 a[m–1][n–1]。所以在引用數(shù)組元素時應(yīng)該注意,下標(biāo)值應(yīng)在定義的數(shù)組大小的范圍內(nèi)。

此外,與一維數(shù)組一樣,定義數(shù)組時用到的“數(shù)組名[常量表達式][常量表達式]”和引用數(shù)組元素時用到的“數(shù)組名[下標(biāo)][下標(biāo)]”是有區(qū)別的。前者是定義一個數(shù)組,以及該數(shù)組的維數(shù)和各維的大小。而后者僅僅是元素的下標(biāo),像坐標(biāo)一樣,對應(yīng)一個具體的元素。

二維數(shù)組始化
1) 分行給二維數(shù)組賦初值,如:

int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};

這種賦初值的方法比較直觀,把每行看作一個元素,按行賦初值。
2) 也可以將所有數(shù)據(jù)寫在一個花括號內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x初值。比如:

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) 如果在定義數(shù)組時就對全部元素賦初值,即完全初始化,則第一維的長度可以不指定,但第二維的長度不能省。比如:

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};

系統(tǒng)會根據(jù)數(shù)據(jù)總數(shù)和第二維的長度算出第一維的長度。但這種省略的寫法幾乎不用,因為可讀性差。
5) 二維數(shù)組“清零”,里面每一個元素都是零,如下:

int a[3][4]={0};

二維數(shù)組如何輸入輸出

在一維數(shù)組中是用一個 for 循環(huán)進行輸入輸出,而二維數(shù)組元素的輸入輸出要使用兩個 for 循環(huán)嵌套。

下面有一個小例題,大家可以用來練練手:

//輸入一個3行4列的二維數(shù)組的元素值
//調(diào)用一個自定義函數(shù)求二維數(shù)組每列元素中的最小值的和值
//和值通過返回值傳回主函數(shù)輸出
#include "stdio.h"
int sum(int arr[3][4])//定義一個二維數(shù)組
{
    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]); //輸入數(shù)組元素
    int r = sum(arr);
    printf("%d\n", r);//輸出每列最小元素之和
    return 0;
}

實現(xiàn)結(jié)果:

1 2 3 4
0 2 5 9
0 1 3 -1
3

以上是c語言中二維數(shù)組如何使用的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI