C++初始化數(shù)組的幾種常見(jiàn)方法(簡(jiǎn)單易懂)
在 C++ 中,初始化數(shù)組有幾種方式,具體取決于數(shù)組的類型、大小以及是否給定初始值。
下面是提供幾種常見(jiàn)的數(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() {
// 只初始化前兩個(gè)元素,其余元素默認(rèn)為 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ù)組,填充每個(gè)元素為 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動(dòng)態(tài)初始化數(shù)組
#include <iostream>
int main() {
int* arr = new int[5]; // 動(dòng)態(tài)分配大小為 5 的數(shù)組
// 初始化數(shù)組
for (int i = 0; i < 5; i++) {
arr[i] = i * 2; // 填充偶數(shù)
}
// 輸出動(dòng)態(tài)數(shù)組內(nèi)容
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
delete[] arr; // 釋放動(dòng)態(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動(dòng)態(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ù)組的幾種常見(jiàn)方法(簡(jiǎn)單易懂)的詳細(xì)內(nèi)容,更多關(guān)于C++初始化數(shù)組的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux網(wǎng)絡(luò)編程之socket文件傳輸示例
這篇文章主要介紹了Linux網(wǎng)絡(luò)編程之socket文件傳輸示例,對(duì)于基于Linux平臺(tái)的C程序員來(lái)說(shuō)有一定的借鑒價(jià)值,需要的朋友可以參考下2014-08-08
怎么用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))
這篇文章主要介紹了用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))的相關(guān)資料,需要的朋友可以參考下2017-05-05
C++11 lambda表達(dá)式在回調(diào)函數(shù)中的使用方式
這篇文章主要介紹了C++11 lambda表達(dá)式在回調(diào)函數(shù)中的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
C/C++讀取大文件數(shù)據(jù)方式詳細(xì)講解
這篇文章主要介紹了C語(yǔ)言/C++讀取大文件數(shù)據(jù)的完整方式過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
C++數(shù)據(jù)結(jié)構(gòu)與算法之雙緩存隊(duì)列實(shí)現(xiàn)方法詳解
這篇文章主要介紹了C++數(shù)據(jù)結(jié)構(gòu)與算法之雙緩存隊(duì)列實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了雙緩存隊(duì)列的原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-08-08
C++無(wú)痛實(shí)現(xiàn)日期類的示例代碼
凡是要寫類必須要提到六大默認(rèn)成員(六位大爺):構(gòu)造函數(shù)、析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、賦值重載函數(shù)、取地址重載函數(shù)(包括const對(duì)象和普通對(duì)象);那么這次的日期類又需要伺候哪幾位大爺呢?本文就來(lái)詳細(xì)說(shuō)說(shuō)2022-10-10

