C++初始化數(shù)組的幾種常見方法(簡單易懂)
更新時間:2025年02月21日 11:29:04 作者:陽陽小可愛
本文介紹了C++中數(shù)組的初始化方法,包括一維數(shù)組和二維數(shù)組的初始化,以及用new動態(tài)初始化數(shù)組,在C++11及以上版本中,還提供了使用std::array和std::vector進行靜態(tài)和動態(tài)初始化的方式,需要的朋友可以參考下
在 C++ 中,初始化數(shù)組有幾種方式,具體取決于數(shù)組的類型、大小以及是否給定初始值。
下面是提供幾種常見的數(shù)組初始化方法:
1、初始化一維數(shù)組
1.1、使用列表初始化(推薦方式)
#include <iostream> int main() { // 初始化數(shù)組,指定元素 int arr[5] = {1, 2, 3, 4, 5}; // 輸出數(shù)組內(nèi)容 for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; }
1.2、初始化部分列表
#include <iostream> int main() { // 只初始化前兩個元素,其余元素默認為 0 int arr[5] = {1, 2}; // 輸出數(shù)組內(nèi)容 for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; }
1.3、使用std::fill初始化列表
#include <iostream> #include <algorithm> // 包含 fill 函數(shù) int main() { int arr[5]; // 使用 fill 初始化數(shù)組,填充每個元素為 7 std::fill(std::begin(arr), std::end(arr), 7); // 輸出數(shù)組內(nèi)容 for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; } // std::fill{7, 7, 7, 7, 7}
1.4、使用循環(huán)初始化列表
#include <iostream> int main() { int arr[5]; // 使用循環(huán)初始化數(shù)組 for (int i = 0; i < 5; i++) { arr[i] = i * 2; // 填充為偶數(shù) } // 輸出數(shù)組內(nèi)容 for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; }
2、初始化二維數(shù)組
2.1、使用列表初始化數(shù)組
#include <iostream> int main() { // 初始化二維數(shù)組 int arr[3][2] = {{1, 2}, {3, 4}, {5, 6}}; // 輸出二維數(shù)組內(nèi)容 for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { std::cout << arr[i][j] << " "; } std::cout << std::endl; } return 0; }
2.2、 初始化部分二維數(shù)組
#include <iostream> int main() { // 只初始化部分元素,其他元素將被填充為 0 int arr[3][3] = {{1, 2}, {3, 4}}; // 輸出二維數(shù)組內(nèi)容 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { std::cout << arr[i][j] << " "; } std::cout << std::endl; } return 0; }
2.3、循環(huán)初始化二維數(shù)組
#include <iostream> int main() { int arr[3][3]; // 使用循環(huán)初始化二維數(shù)組 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { arr[i][j] = i * 3 + j; // 使用索引填充 } } // 輸出二維數(shù)組內(nèi)容 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { std::cout << arr[i][j] << " "; } std::cout << std::endl; } return 0; }
3、用new動態(tài)初始化數(shù)組
#include <iostream> int main() { int* arr = new int[5]; // 動態(tài)分配大小為 5 的數(shù)組 // 初始化數(shù)組 for (int i = 0; i < 5; i++) { arr[i] = i * 2; // 填充偶數(shù) } // 輸出動態(tài)數(shù)組內(nèi)容 for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } delete[] arr; // 釋放動態(tài)分配的數(shù)組內(nèi)存 return 0; }
4、 C++11 中的初始化方式
在 C++11 及以上版本中提供了更靈活的數(shù)組類型。
4.1、使用std::array靜態(tài)初始化數(shù)組
#include <iostream> #include <array> int main() { std::array<int, 5> arr = {1, 2, 3, 4, 5}; // 使用 std::array 初始化 // 輸出 std::array 內(nèi)容 for (int i = 0; i < 5; i++) { std::cout << arr[i] << " "; } return 0; }
4.2、使用 std::vector動態(tài)初始化數(shù)組
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用 std::vector 初始化 // 輸出 std::vector 內(nèi)容 for (size_t i = 0; i < vec.size(); i++) { std::cout << vec[i] << " "; } return 0; }
以上就是C++初始化數(shù)組的幾種常見方法(簡單易懂)的詳細內(nèi)容,更多關(guān)于C++初始化數(shù)組的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux網(wǎng)絡(luò)編程之socket文件傳輸示例
這篇文章主要介紹了Linux網(wǎng)絡(luò)編程之socket文件傳輸示例,對于基于Linux平臺的C程序員來說有一定的借鑒價值,需要的朋友可以參考下2014-08-08怎么用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))
這篇文章主要介紹了用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))的相關(guān)資料,需要的朋友可以參考下2017-05-05C++11 lambda表達式在回調(diào)函數(shù)中的使用方式
這篇文章主要介紹了C++11 lambda表達式在回調(diào)函數(shù)中的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11C++數(shù)據(jù)結(jié)構(gòu)與算法之雙緩存隊列實現(xiàn)方法詳解
這篇文章主要介紹了C++數(shù)據(jù)結(jié)構(gòu)與算法之雙緩存隊列實現(xiàn)方法,結(jié)合實例形式分析了雙緩存隊列的原理、實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2017-08-08