在 c++ 中,初始化数组有几种方式,具体取决于数组的类型、大小以及是否给定初始值。
下面是提供几种常见的数组初始化方法:
1、初始化一维数组
1.1、使用列表初始化(推荐方式)
#include <iostream>
int main() {
// 初始化数组,指定元素
int arr[5] = {1, 2, 3, 4, 5};
// 输出数组内容
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};
// 输出数组内容
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
return 0;
}1.3、使用std::fill初始化列表
#include <iostream>
#include <algorithm> // 包含 fill 函数
int main() {
int arr[5];
// 使用 fill 初始化数组,填充每个元素为 7
std::fill(std::begin(arr), std::end(arr), 7);
// 输出数组内容
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
// std::fill{7, 7, 7, 7, 7}1.4、使用循环初始化列表
#include <iostream>
int main() {
int arr[5];
// 使用循环初始化数组
for (int i = 0; i < 5; i++) {
arr[i] = i * 2; // 填充为偶数
}
// 输出数组内容
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
return 0;
}2、初始化二维数组
2.1、使用列表初始化数组
#include <iostream>
int main() {
// 初始化二维数组
int arr[3][2] = {{1, 2}, {3, 4}, {5, 6}};
// 输出二维数组内容
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、 初始化部分二维数组
#include <iostream>
int main() {
// 只初始化部分元素,其他元素将被填充为 0
int arr[3][3] = {{1, 2}, {3, 4}};
// 输出二维数组内容
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、循环初始化二维数组
#include <iostream>
int main() {
int arr[3][3];
// 使用循环初始化二维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
arr[i][j] = i * 3 + j; // 使用索引填充
}
}
// 输出二维数组内容
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动态初始化数组
#include <iostream>
int main() {
int* arr = new int[5]; // 动态分配大小为 5 的数组
// 初始化数组
for (int i = 0; i < 5; i++) {
arr[i] = i * 2; // 填充偶数
}
// 输出动态数组内容
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
delete[] arr; // 释放动态分配的数组内存
return 0;
}4、 c++11 中的初始化方式
在 c++11 及以上版本中提供了更灵活的数组类型。
4.1、使用std::array静态初始化数组
#include <iostream>
#include <array>
int main() {
std::array<int, 5> arr = {1, 2, 3, 4, 5}; // 使用 std::array 初始化
// 输出 std::array 内容
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
return 0;
}4.2、使用 std::vector动态初始化数组
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用 std::vector 初始化
// 输出 std::vector 内容
for (size_t i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}以上就是c++初始化数组的几种常见方法(简单易懂)的详细内容,更多关于c++初始化数组的资料请关注代码网其它相关文章!
发表评论