中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

C++中的數(shù)組聲明,初始化數(shù)組實(shí)例的指針

發(fā)布于:2021-01-26 14:56:02

0

376

0

C++ 數(shù)組 初始化 指針

什么是數(shù)組?

數(shù)組是按順序存儲(chǔ)相同數(shù)據(jù)類(lèi)型元素的數(shù)據(jù)結(jié)構(gòu)。C++數(shù)組的大小是固定的。

可以將數(shù)組視為類(lèi)似數(shù)據(jù)類(lèi)型的變量集合。您可以聲明一個(gè)變量(數(shù)組)并向其中添加各個(gè)變量的值,而不是聲明每個(gè)變量并分別為其賦值。添加到數(shù)組中的每個(gè)值都由一個(gè)索引標(biāo)識(shí)。

我們?yōu)槭裁葱枰獢?shù)組

數(shù)組在任何編程語(yǔ)言中都非常重要。它們提供了一種更方便的方法,將變量或類(lèi)似數(shù)據(jù)類(lèi)型的數(shù)據(jù)集合存儲(chǔ)在一起,而不是單獨(dú)存儲(chǔ)它們。數(shù)組的每個(gè)值都將分別訪問(wèn)。

在C++中聲明一個(gè)數(shù)組

C++中的數(shù)組聲明涉及說(shuō)明數(shù)組所存儲(chǔ)的元素的類(lèi)型和數(shù)量。語(yǔ)法:

type array-Name [ array-Size ];

在C++中聲明一維數(shù)組的規(guī)則。

  • 類(lèi)型:類(lèi)型是要存儲(chǔ)在數(shù)組中的元素的類(lèi)型,它必須是有效的C ++數(shù)據(jù)類(lèi)型。

  • 數(shù)組名稱:陣列名稱是要分配給陣列的名稱。

  • 數(shù)組大?。簲?shù)組大小是要存儲(chǔ)在數(shù)組中的元素?cái)?shù)。必須為整數(shù)且大于0。

例如,您可以創(chuàng)建一個(gè)名為age的數(shù)組,并按如下方式存儲(chǔ)5個(gè)學(xué)生的年齡:

int age[5];

數(shù)組age將存儲(chǔ)代表不同學(xué)生年齡的5個(gè)整數(shù)。

數(shù)組初始化

數(shù)組初始化是將元素分配/存儲(chǔ)到數(shù)組的過(guò)程。初始化可以在單個(gè)語(yǔ)句中完成,也可以逐個(gè)完成。請(qǐng)注意,數(shù)組中的第一個(gè)元素存儲(chǔ)在索引0處,而最后一個(gè)元素存儲(chǔ)在索引n-1處,其中n是數(shù)組中元素的總數(shù)。

對(duì)于age數(shù)組,第一個(gè)元素將存儲(chǔ)在索引0中,而最后一個(gè)元素將存儲(chǔ)在索引4中。

讓我們使用age數(shù)組來(lái)演示如何進(jìn)行數(shù)組初始化:

int age[5] = {19, 18, 21, 20, 17};

{}中的元素總數(shù)不能超過(guò)[]中指定的值。元素19位于索引0處,18位于索引1處,21位于索引2處,20位于索引3處,17位于索引4處。如果不在[]中說(shuō)明要存儲(chǔ)在數(shù)組中的元素?cái)?shù),那么數(shù)組的大小將只足以容納{}中添加的元素。例如:

int age[] = {19, 18, 21, 20, 17};

上面的語(yǔ)句將創(chuàng)建與上一個(gè)完全相同的數(shù)組。還可以使用數(shù)組的索引將一個(gè)元素指定給數(shù)組。例如:

age[3] = 20;

上面的語(yǔ)句將值20存儲(chǔ)在名為age的數(shù)組的索引3處。這意味著20將是數(shù)組的第4個(gè)元素。

數(shù)組的類(lèi)型

有三種C++數(shù)組:

  • 一維數(shù)組

  • 多維數(shù)組

  • 指向數(shù)組的指針

一位數(shù)組

這是一個(gè)數(shù)組,其中數(shù)據(jù)項(xiàng)僅在一維中線性排列。通常稱為一維數(shù)組。語(yǔ)法:

datatype array-name[size];

  • 數(shù)組名稱是數(shù)組的名稱

  • 大小是要存儲(chǔ)在數(shù)組中的項(xiàng)目數(shù)。

例如:

#include <iostream>
using namespace std;

int main()
{
int age[5] = { 19, 18, 21, 20, 17 };
for (int x = 0; x < 5; x++)
{
 cout <<age[x]<<"n";
}
}

輸出:

     

    以下是代碼截圖:

     

    代碼說(shuō)明:

  • 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫(xiě)入控制臺(tái)。

  • 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類(lèi)和函數(shù)。

  • 調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。

  • main()函數(shù)主體的開(kāi)始。

  • 聲明一個(gè)名為age的數(shù)組來(lái)存儲(chǔ)5個(gè)整數(shù)。5個(gè)整數(shù)也已初始化。

  • 使用for循環(huán)創(chuàng)建整數(shù)變量x。

  • for循環(huán)體的開(kāi)頭。

  • 使用循環(huán)變量x迭代數(shù)組年齡的值并在控制臺(tái)上打印它們?!皘 n”是換行符,在每次迭代后打印在新行中。

  • for a循環(huán)主體的結(jié)束。

  • main()函數(shù)主體的結(jié)束。

  • 多維數(shù)組

    這是一個(gè)數(shù)組,其中數(shù)據(jù)項(xiàng)被排列成一個(gè)數(shù)組。多維數(shù)組可以有任意數(shù)量的維數(shù),但二維和三維數(shù)組是常見(jiàn)的。語(yǔ)法:

    datatype array-name[d1][d2][d3]...[dn];

    數(shù)組名稱是將具有n個(gè)維度的數(shù)組的名稱。例如:

    二維數(shù)組

    二維數(shù)組將數(shù)據(jù)存儲(chǔ)在具有一維數(shù)組的列表中。它是一個(gè)包含行和列的矩陣。要聲明2D數(shù)組,請(qǐng)使用以下語(yǔ)法:

    type array-Name [ x ][ y ];

    類(lèi)型必須是一個(gè)有效的C++數(shù)據(jù)類(lèi)型。將二維數(shù)組視為表,其中x表示行數(shù),y表示列數(shù)。這意味著您可以使用a[x][y]形式標(biāo)識(shí)二維數(shù)組中的每個(gè)元素,其中x是元素所屬的行數(shù),y是元素所屬的列數(shù)。

    以下是如何初始化二維數(shù)組的示例:

    int a[2][3] = {  
      {0, 2, 1} ,   /*  row at index 0 */
      {4, 3, 7} ,   /*  row at index 1 */
      };

    在上面的例子中,我們有一個(gè)二維數(shù)組,可以看作是一個(gè)2x3矩陣。共有2行3列。元素0可以作為[0][1]訪問(wèn),因?yàn)樗挥谛兴饕?和列索引1的交叉點(diǎn)。元素3可以作為[1][2]訪問(wèn),因?yàn)樗挥谛兴饕?和列索引2的交叉點(diǎn)。

    注意,我們只是添加了花括號(hào)來(lái)區(qū)分不同的元素行。初始化也可以按以下方式進(jìn)行:

    int a[2][3] = {0, 2, 1, 4, 3, 7};
      };

    下面的C++示例演示如何初始化和遍歷2D數(shù)組:

    #includeusing namespace std;
    int main()
    {
    // a 2x3 array
    int a[3][2] = { {0, 2}, {1, 4}, {3, 7} };

    // traverse array elements

    for (int i=0; i<3; i++)
     for (int j=0; j<2; j++)
     
     {
      cout << "a[" <<i<< "][" <<j<< "]: ";
      cout << a[i][j] << endl;
     }
    return 0;
    }

    輸出:

     

    以下是上述代碼的截圖:

     

    代碼說(shuō)明:

  • 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫(xiě)入控制臺(tái)。

  • 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類(lèi)和函數(shù)。

  • 調(diào)用應(yīng)在其中添加代碼的main()函數(shù)。

  • main()函數(shù)主體的開(kāi)始。

  • 評(píng)論。C++編譯器將跳過(guò)此。

  • 聲明3行2列的二維數(shù)組。項(xiàng)目也已添加到數(shù)組中。

  • 評(píng)論。C++編譯器將跳過(guò)這個(gè).

  • 創(chuàng)建一個(gè)變量i,用于循環(huán)。此變量將迭代數(shù)組的行索引。

  • 使用for循環(huán)創(chuàng)建變量j。此變量將迭代數(shù)組的列索引。

  • 循環(huán)體的開(kāi)始。

  • 在控制臺(tái)的方括號(hào)內(nèi)打印控制臺(tái)上變量i和j的值。

  • 打印存儲(chǔ)在數(shù)組a的索引[i][j]處的值。

  • 循環(huán)體的末尾。

  • 如果程序運(yùn)行正常,main()函數(shù)應(yīng)該返回一個(gè)整數(shù)值。

  • main()函數(shù)主體的結(jié)尾。

  • 三維數(shù)組

    三維數(shù)組是數(shù)組的數(shù)組。三維數(shù)組中的每個(gè)元素由一組3個(gè)索引標(biāo)識(shí)。為了訪問(wèn)3D數(shù)組的元素,我們使用了三個(gè)for循環(huán)。例如:

    #includeusing namespace std;
    void main()
    {
    int a[2][3][2] = {{{4, 8},{2, 4},{1, 6}}, {{3, 6},{5, 4},{9, 3}}};
    cout << "a[0][1][0] = " << a[0][1][0] << "n";
    cout << "a[0][1][1] = " << a[0][1][1] << "n";
    }

    輸出:

     

    以下是代碼截圖:

     

    代碼說(shuō)明:

  • 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫(xiě)入控制臺(tái)。

  • 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類(lèi)和函數(shù)。

  • 調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。

  • main()函數(shù)主體的開(kāi)始。

  • 聲明一個(gè)名為大小為2x3x2的三維數(shù)組。數(shù)組的值也已初始化。

  • 訪問(wèn)存儲(chǔ)在數(shù)組索引[0][1][0]中的項(xiàng)并在控制臺(tái)上打印它。

  • 訪問(wèn)存儲(chǔ)在數(shù)組索引[0][1][1]中的項(xiàng)并在控制臺(tái)上打印它。

  • main()函數(shù)主體的結(jié)尾。

  • 指向數(shù)組的指針

    指針是保存地址的變量。除了使用指針來(lái)存儲(chǔ)變量的地址之外,我們還可以使用它來(lái)存儲(chǔ)數(shù)組單元格的地址。數(shù)組的名稱總是指向它的第一個(gè)元素??紤]以下聲明:

    int age[5];

    age是指向$age[0]的指針,它是名為age的數(shù)組的第一個(gè)元素的地址??紤]以下示例:

    #includeusing namespace std;
    int main()
    {
    int *john;

    int age[5] = { 19, 18, 21, 20, 17 };

    john = age;

    cout << john << "n";

    cout << *john;

    }

    輸出:

     

    請(qǐng)注意,上述輸出的第一個(gè)值可能返回不同的值,具體取決于分配給計(jì)算機(jī)內(nèi)存中數(shù)組第一個(gè)元素的地址。

    以下是代碼截圖:

     

    代碼說(shuō)明:

  • 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫(xiě)入控制臺(tái)。

  • 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類(lèi)和函數(shù)。

  • 調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。

  • main()函數(shù)主體的開(kāi)始。

  • 聲明名為*john的指針變量。

  • 聲明一個(gè)名為age的整數(shù)數(shù)組來(lái)存儲(chǔ)5個(gè)整數(shù)。整數(shù)的值也已初始化。

  • 為變量john賦值數(shù)組年齡的第一個(gè)索引中存儲(chǔ)的項(xiàng)的地址值。

  • 打印變量john的值,它是存儲(chǔ)在數(shù)組的第一個(gè)索引中的項(xiàng)的地址。

  • 打印存儲(chǔ)在數(shù)組中的第一個(gè)值。

  • main()函數(shù)主體的結(jié)尾。

  • 數(shù)組名可以用作常量指針,反之亦然。這意味著您可以使用*(age+3)訪問(wèn)存儲(chǔ)在數(shù)組age的索引3中的值。例如:

    #includeusing namespace std;

    int main() {
    // an array of 5 elements.
    int age[5] = { 19, 18, 21, 20, 17 };
    int *p;

    p = age;

    // output array values

    cout << "Using pointer: " << endl;

    for (int x=0; x<5; x++) {
     cout << "*(p + " << x << ") : ";
     cout << *(p + x) << endl;
    }
    cout << "Using age as address: " << endl;

    for (int x = 0; x < 5; x++) {
     cout << "*(age + " << x << ") : ";
     cout << *(age + x) << endl;
    }

    return 0;
    }

    輸出:

     

    以下是代碼截圖:

     

    代碼說(shuō)明:

  • 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫(xiě)入控制臺(tái)。

  • 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類(lèi)和函數(shù)。

  • 調(diào)用main()函數(shù)并開(kāi)始main()函數(shù)的主體。

  • 評(píng)論。C++編譯器將跳過(guò)此。

  • 聲明一個(gè)名為age的數(shù)組來(lái)存儲(chǔ)5個(gè)整數(shù)。

  • 創(chuàng)建整數(shù)指針p。

  • 為p賦值數(shù)組年齡的第一個(gè)元素的地址值。

  • 注釋。C++編譯器將跳過(guò)此。

  • 在控制臺(tái)上打印一些文本。

  • 使用for a循環(huán)創(chuàng)建一個(gè)整數(shù)x。{標(biāo)記for循環(huán)主體的開(kāi)始。

  • 將x的值與控制臺(tái)上的其他文本一起打印出來(lái)。

  • 在控制臺(tái)上打印*(p+x)的值。

  • 循環(huán)體的結(jié)尾。

  • 在控制臺(tái)上打印一些文本。

  • 使用for循環(huán)創(chuàng)建變量x。{標(biāo)記for循環(huán)主體的開(kāi)始。

  • 將x的值從0到4與其他文本一起打印出來(lái)。

  • 打印出*(年齡+x)的值。

  • for循環(huán)主體的結(jié)尾。

  • 如果程序運(yùn)行成功,返回值。

  • main()函數(shù)主體的結(jié)尾。

  • 訪問(wèn)數(shù)組的值

    數(shù)組的元素使用它們各自的索引進(jìn)行訪問(wèn)。將要訪問(wèn)的元素的索引添加到數(shù)組名稱后面的方括號(hào)[]中。例如:

    int john = age[2];

    在上面的示例中,我們只是簡(jiǎn)單地聲明john的age存儲(chǔ)在名為age的數(shù)組的索引2中。這意味著john的age是數(shù)組age中的3rd值。這里是一個(gè)完整的C++示例,演示如何訪問(wèn)和打印這個(gè)值:

    #includeusing namespace std;

    int main()
    {

    int age[5] = { 19, 18, 21, 20, 17 };

    int john = age[2];

    cout << "The age of John is:"<<john;
    }

    輸出:

     

    以下是代碼截圖:

     

    代碼說(shuō)明:

  • 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫(xiě)入控制臺(tái)。

  • 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類(lèi)和函數(shù)。

  • 調(diào)用應(yīng)在其中添加代碼的main()函數(shù)。

  • main()函數(shù)主體的開(kāi)始。

  • 聲明一個(gè)名為age的數(shù)組以存儲(chǔ)5個(gè)整數(shù)元素。

  • 訪問(wèn)數(shù)組年齡的索引2中存儲(chǔ)的值,并將其值存儲(chǔ)在名為john的變量中。

  • 在控制臺(tái)上與其他文本一起打印變量john的值。

  • 數(shù)組元素按順序存儲(chǔ)。

  • 數(shù)組元素使用各自的索引表示。第一個(gè)元素位于索引0處,而最后一個(gè)元素位于索引n-1處,其中是數(shù)組元素的總數(shù)。

  • 數(shù)組的聲明包括定義數(shù)組元素的數(shù)據(jù)類(lèi)型以及要存儲(chǔ)在數(shù)組中的元素?cái)?shù)。

  • 一維數(shù)組按順序存儲(chǔ)元素。

  • 二維數(shù)組在行和列中存儲(chǔ)元素。

  • 三維數(shù)組是數(shù)組的數(shù)組。

  • 可以使用元素的索引將元素添加到數(shù)組中。

  • 數(shù)組元素使用其索引進(jìn)行訪問(wèn)。

  • 多維數(shù)組有多個(gè)維度。

  • 數(shù)組名稱指向它的第一個(gè)元素。

  • 數(shù)組的大小是固定的,這意味著在數(shù)組初始化后不能將新元素添加到數(shù)組中。