第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

C 語言入門教程

C 語言基礎(chǔ)教程
01 C 語言簡(jiǎn)介 02 C 語言的程序結(jié)構(gòu) 03 C 語言的編譯 04 C 語言的標(biāo)準(zhǔn) 05 C 語言中的注釋 06 C 語言中的變量 07 C 語言中的變量類型 08 C 語言的常量 09 C 語言的輸入與輸出 10 C 語言中的 printf() 格式輸出 11 C 語言中的類型轉(zhuǎn)換 12 C 語言中的運(yùn)算符 13 C 語言中的算數(shù)運(yùn)算符 14 C 語言中的位運(yùn)算符 15 C 語言中的邏輯運(yùn)算符 16 C 語言中的三目運(yùn)算符 17 C 語言中的分支結(jié)構(gòu) 18 C 語言中的多重分支 19 C 語言中的分支嵌套結(jié)構(gòu) 20 C 語言中的循環(huán)結(jié)構(gòu) 21 C 語言中的 while 循環(huán) 22 C 語言中的 do-While 循環(huán) 23 C 語言中的 for 循環(huán) 24 C 語言中的多重循環(huán)嵌套 25 循環(huán)實(shí)戰(zhàn),打印九九乘法表 26 C 語言中的break和continue 27 C 語言中的 if 語句 28 C 語言中的 switch/case 語句 29 C 語言中的函數(shù) 30 C 語言函數(shù)的定義和聲明 31 C 語言中函數(shù)的參數(shù)傳入類型 32 C 語言中的 main() 函數(shù)參數(shù) 33 make 工具 makefile 34 C 語言中的數(shù)組 35 C 語言中的多維數(shù)組 36 數(shù)組的練習(xí) 37 C 語言中的字符串 38 C 語言中的字符串函數(shù) 39 C 語言字符串練習(xí) 40 C 語言中的指針 41 C 語言中的 struct 42 C 語言中的 union 43 C 語言中的 maclloc free() 44 C 語言中的 enum 45 整體練習(xí)-學(xué)生管理系統(tǒng)

C 語言中的多維數(shù)組

C 語言中的多維數(shù)組與我們?cè)跀?shù)學(xué)中學(xué)習(xí)到的多維數(shù)組是一致的。如果你還不知道什么是多維數(shù)組也沒有關(guān)系。多維數(shù)組可以看成是之前學(xué)習(xí)過的數(shù)組的擴(kuò)展。它能讓你完成一些僅僅依靠一維數(shù)組沒有辦法完成的事情。讓很多事情完成的更為簡(jiǎn)單。

1. 多維數(shù)組的聲明

多維數(shù)組可以看作是一維數(shù)組的擴(kuò)展。所以,它的聲明就是在之前學(xué)習(xí)的數(shù)組,也叫一維數(shù)組,之后繼續(xù)添加大括號(hào),如果添加一組大括號(hào),那么稱之為二維數(shù)組,以此類推,就構(gòu)成了 N 維數(shù)組。

int intArray[A1][A2][A3][...][An]
int intArray[2][2];  // 二維數(shù)組
float floArtay[3][4][5]; // 三維數(shù)組

與一維數(shù)組中的聲明類似,在多維數(shù)組中,第如果直接進(jìn)行定義初始化,那么一個(gè)維數(shù)可以不指定,但是后面的維數(shù)是要明確指定的。

例如:

int intArray[][5][3]

2. 多維數(shù)組初始化

多維數(shù)組和一維數(shù)組一樣,可以將全部的值一次完全賦給數(shù)組,也可以只初始化部分內(nèi)容。你可以如同之前的一維數(shù)組一樣,在大括號(hào)中以此寫入初始化的數(shù)值。但是出于可讀性的考慮,你最好按照數(shù)組的維數(shù),用大括號(hào)對(duì)應(yīng)。就如同下面的例子中一樣。

short a[2][2] = { 1, 2, 3, 4};
short b[2][2] = { {1, 2}, {3, 4}};
short c[2][2] = { 3, 4};
short d[2][2] = { {}, {3, 4}};

上面這些變量初始化中,數(shù)組 a 的初始化方式和之前我們介紹過的一樣。但是這樣在多維數(shù)組中是我們不推薦的。因?yàn)樵趯?duì)應(yīng)關(guān)系顯示不明顯。

數(shù)組 b 的初始化方式是我們推薦的,這種初始化看上去對(duì)應(yīng)關(guān)系比較明了。當(dāng)然缺點(diǎn)是我們要輸入很多個(gè)括號(hào)。

數(shù)組 C 是進(jìn)行了部分初始化,將 c[0][0] 和 c[0][1] 兩個(gè)位置賦值為 3 和 4,其它位置會(huì)自動(dòng)賦值為 0 。

多維數(shù)組與一維數(shù)組一樣,一定要先初始化或者賦值后才能使用。否則也會(huì)產(chǎn)生未知的錯(cuò)誤。

數(shù)組 d 展示了采用對(duì)應(yīng)維數(shù)的大括號(hào)的便捷之處。我們這里只給 d[1][0] 和 d[1][1] 賦值,而沒有給前面的兩個(gè)位置賦值。

3. 多維數(shù)組的使用

多維數(shù)組的賦值與取值與之前的一維數(shù)組是一樣的。通過索引位置直接獲取相應(yīng)的數(shù)值或者進(jìn)行賦值操作。例如 a[2][3] = 12 。

由于有多維的存在。我們想要獲取其中的每一個(gè)數(shù)值的時(shí)候,就要使用循環(huán)的嵌套。一般情況下,有幾個(gè)維度,就要使用幾重的嵌套。

4. 示例

#include <stdio.h>

int main()
{
    short a[2][2] = {{}, {3, 4}};
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 2; j++)
        {
            printf("a[%d][%d] = %d\n", i, j, a[i][j]);
        }
    }

    int b[][2] = {{1, 2}, {3, 4}};
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 2; j++)
        {
            printf("b[%d][%d] = %d\n", i, j, b[i][j]);
        }
    }

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

    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 2; j++)
        {
            for (int k = 0; k < 2; k++)
            {
                printf("c[%d][%d][%d] = %d\n", i, j, k, c[i][j][k]);
            }
        }
    }

    return 0;
}

運(yùn)行結(jié)果:

a[0][0] = 0
a[0][1] = 0
a[1][0] = 3
a[1][1] = 4
b[0][0] = 1
b[0][1] = 2
b[1][0] = 3
b[1][1] = 4
c[0][0][0] = 1
c[0][0][1] = 2
c[0][1][0] = 3
c[0][1][1] = 4
c[1][0][0] = 5
c[1][0][1] = 6
c[1][1][0] = 7
c[1][1][1] = 8
c[2][0][0] = 9
c[2][0][1] = 10
c[2][1][0] = 11
c[2][1][1] = 12

示例程序里面通過 3 種不同的方式初始化了 a、b、c 三個(gè)多維數(shù)組,其中 a 與 b 數(shù)組是 2 維數(shù)數(shù)組,c 是 3 維數(shù)組。

這里在初始化數(shù)組的時(shí)候,我們采用通常建議的多層大括號(hào)的組織方式,這種方式雖然使用了更多的括號(hào),但是可讀性會(huì)更強(qiáng),更有條理性。

在多維數(shù)組的使用中,會(huì)采用多層的嵌套循環(huán)來進(jìn)行內(nèi)部全部變量的賦值或者取值操作,如果只是想對(duì)于數(shù)組中的某一個(gè)位置上的數(shù)值進(jìn)行修改,只要直接使用其索引位置就可以了,如 a[0][1] = 100 等。

5. 小結(jié)

多維數(shù)組可以被看做是之前介紹的一維數(shù)組的擴(kuò)展。其基本的聲明就是在一維數(shù)組的基礎(chǔ)上,根據(jù)需要在后面添加成對(duì)的方括號(hào)即可。其初始化過程與一維數(shù)組類似,只不過為了增加代碼的可讀性,便于查錯(cuò)和維護(hù)的需要,建議在初始化過程中使用大括號(hào)來分組賦值。多維數(shù)組的使用也有一維數(shù)組無異。只不過需要用到多重嵌套的循環(huán)來進(jìn)行遍歷每一個(gè)數(shù)值。