数组的定义方式
时间: 2023-09-09 12:12:35 浏览: 37
在 C++ 中,数组可以使用以下三种方式进行定义:
1. 静态定义:在编译时就确定了数组大小和元素类型,数组元素的内存空间在程序运行前就已经分配好了。静态定义的数组一般在函数外部定义,可以全局访问。
```c++
int arr[10]; // 定义一个包含 10 个元素的 int 类型数组
double dArr[5] = {1.0, 2.0, 3.0, 4.0, 5.0}; // 定义一个包含 5 个元素的 double 类型数组,并初始化数组元素
```
2. 动态定义:在程序运行时根据需要动态分配数组的内存空间,可以通过 new 运算符来动态分配数组空间,分配完成后得到的是指向数组首元素的指针。
```c++
int *pArr = new int[10]; // 动态分配一个包含 10 个元素的 int 类型数组,并返回指向数组首元素的指针
double *pdArr = new double[5]{1.0, 2.0, 3.0, 4.0, 5.0}; // 动态分配一个包含 5 个元素的 double 类型数组,并初始化数组元素,并返回指向数组首元素的指针
```
3. 模板定义:C++ 的 STL 库提供了一些常用的数据结构,如 vector、array、deque 等,这些数据结构都是使用模板来定义的,可以根据需要定义不同类型的数组。
```c++
#include <vector>
#include <array>
#include <deque>
std::vector<int> v(5); // 定义一个包含 5 个元素的 int 类型 vector
std::array<double, 5> arr = {1.0, 2.0, 3.0, 4.0, 5.0}; // 定义一个包含 5 个元素的 double 类型 array,并初始化数组元素
std::deque<int> d(10, 0); // 定义一个包含 10 个元素的 int 类型 deque,并初始化数组元素为 0
```
在定义数组时,需要注意数组的类型、大小和初始化方式,以及内存空间的分配方式。