如何在C++中初始化數組

一、基本概念

C++數組是一種線性數據結構,它由一系列相同類型的元素組成。每個元素都可以通過下標來訪問,下標從0開始,最大下標為數組長度減一。

二、聲明數組

在C++中聲明數組需要指定元素類型和數組大小,語法如下:

type arrayName[arraySize];

其中,type表示元素類型,arrayName表示數組名稱,arraySize表示數組大小。

例如,聲明一個大小為5、元素類型為int的數組:

int myArray[5];

三、初始化數組

1. 使用大括號初始化

使用大括號可以為數組元素提供初始值。以下是一些示例:

// 聲明一個大小為3的字符串數組,並賦初值
string strArray[3] = {"Hello", "world", "!"};

// 聲明一個大小為4的整型數組,並賦初值
int intArray[4] = {1, 2, 3, 4};

// 聲明一個大小為10的浮點型數組,並賦初值
float floatArray[10] = {1.1, 2.2, 3.3, 4.4};

2. 不使用大括號初始化

如果沒有為數組提供初始值,那麼數組中的元素將會被默認初始化。以下是一些示例:

// 聲明一個大小為5的整型數組,並默認初始化為0
int intArray[5] = {};

// 聲明一個大小為3的字符型數組,並默認初始化為空字符
char charArray[3];

// 聲明一個大小為4的布爾型數組,並默認初始化為false
bool boolArray[4];

3. 動態初始化

在C++中,可以在運行時動態地初始化數組,需要使用new來申請內存。以下是一些示例:

// 動態申請一個大小為10的整型數組,並賦初值
int *intArray = new int[10]{1,2,3,4,5,6,7,8,9,10};

// 動態申請一個大小為5的浮點型數組,並默認初始化為0
float *floatArray = new float[5]();

四、補充說明

在C++中,如果數組初始化的元素個數少於數組大小,那麼剩餘的元素將會被默認初始化。例如:

int intArray[5] = {1, 2};

這裡只初始化了前兩個元素,那麼後三個元素將會被默認初始化為0。

如果數組初始化的元素個數多於數組大小,那麼編譯器將會拋出編譯錯誤

另外,C++11添加了initializer_list初始化列表特性,可以用來方便地初始化數組和其他容器類型的對象,具體用法可以參考相關文檔。

完整示例代碼

// 大括號初始化的示例
#include <iostream>
#include <string>
using namespace std;

int main() {
    // 聲明一個大小為3的字符串數組,並賦初值
    string strArray[3] = {"Hello", "world", "!"};
    for(int i = 0; i < 3; ++i) {
        cout << strArray[i] << " ";
    }
    cout << endl;

    // 聲明一個大小為4的整型數組,並賦初值
    int intArray[4] = {1, 2, 3, 4};
    for(int i = 0; i < 4; ++i) {
        cout << intArray[i] << " ";
    }
    cout << endl;

    // 聲明一個大小為10的浮點型數組,並賦初值
    float floatArray[10] = {1.1, 2.2, 3.3, 4.4};
    for(int i = 0; i < 10; ++i) {
        cout << floatArray[i] << " ";
    }
    cout << endl;

    return 0;
}


// 不使用大括號初始化的示例
#include <iostream>
using namespace std;

int main() {
    // 聲明一個大小為5的整型數組,並默認初始化為0
    int intArray[5] = {};
    for(int i = 0; i < 5; ++i) {
        cout << intArray[i] << " ";
    }
    cout << endl;

    // 聲明一個大小為3的字符型數組,並默認初始化為空字符
    char charArray[3];
    for(int i = 0; i < 3; ++i) {
        cout << charArray[i] << " ";
    }
    cout << endl;

    // 聲明一個大小為4的布爾型數組,並默認初始化為false
    bool boolArray[4];
    for(int i = 0; i < 4; ++i) {
        cout << boolArray[i] << " ";
    }
    cout << endl;

    return 0;
}


// 動態初始化的示例
#include <iostream>
using namespace std;

int main() {
    // 動態申請一個大小為10的整型數組,並賦初值
    int *intArray = new int[10]{1,2,3,4,5,6,7,8,9,10};
    for(int i = 0; i < 10; ++i) {
        cout << intArray[i] << " ";
    }
    cout << endl;
    delete[] intArray;

    // 動態申請一個大小為5的浮點型數組,並默認初始化為0
    float *floatArray = new float[5]();
    for(int i = 0; i < 5; ++i) {
        cout << floatArray[i] << " ";
    }
    cout << endl;
    delete[] floatArray;

    return 0;
}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152732.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-13 06:06
下一篇 2024-11-13 06:06

相關推薦

  • 如何在PyCharm中安裝OpenCV?

    本文將從以下幾個方面詳細介紹如何在PyCharm中安裝OpenCV。 一、安裝Python 在安裝OpenCV之前,請確保已經安裝了Python。 如果您還沒有安裝Python,可…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • 如何在Python中實現平方運算?

    在Python中,平方運算是常見的數學運算之一。本文將從多個方面詳細闡述如何在Python中實現平方運算。 一、使用乘法運算實現平方 平方運算就是一個數乘以自己,因此可以使用乘法運…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • 如何在Python中找出所有的三位水仙花數

    本文將介紹如何使用Python語言編寫程序,找出所有的三位水仙花數。 一、什麼是水仙花數 水仙花數也稱為自戀數,是指一個n位數(n≥3),其各位數字的n次方和等於該數本身。例如,1…

    編程 2025-04-29
  • 如何在樹莓派上安裝Windows 7系統?

    隨着樹莓派的普及,許多用戶想在樹莓派上安裝Windows 7操作系統。 一、準備工作 在開始之前,需要準備以下材料: 1.樹莓派4B一台; 2.一張8GB以上的SD卡; 3.下載並…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • 如何在代碼中打出正確的橫杆

    在編程中,橫杆是一個很常見的符號,但是有些人可能會在打橫杆時出錯。本文將從多個方面詳細介紹如何在代碼中打出正確的橫杆。 一、正常使用橫杆 在代碼中,直接使用“-”即可打出橫杆。例如…

    編程 2025-04-29
  • 如何在Spring Cloud中整合騰訊雲TSF

    本篇文章將介紹如何在Spring Cloud中整合騰訊雲TSF,並提供完整的代碼示例。 一、TSF簡介 TSF (Tencent Serverless Framework)是騰訊雲…

    編程 2025-04-29

發表回復

登錄後才能評論