C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C++初始化数组

C++初始化数组的几种常见方法(简单易懂)

作者:阳阳小可爱

本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array和std::vector进行静态和动态初始化的方式,需要的朋友可以参考下

在 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++初始化数组的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文