C++ 数组


C++ 数组

C++数组是一种存储相同类型的数据的容器。数组提供了有效的方法来访问和操作大量的数据。定义数组时需要指定数组的大小,一旦定义大小就不能更改。

定义数组

下面是定义一个数组的语法:

type arrayName[arraySize];

在这里,type指定数组要存储的数据类型,例如:整数、浮点数、字符等,arrayName是数组变量的名称,arraySize则指定数组的大小。

例如,下面的代码定义了一个整数类型的数组并指定了数组大小为10:

int nums[10];

初始化数组

可以在定义数组时初始化数组的元素。例如:

int nums[5] = {10, 20, 30, 40, 50};

如果我们只初始化一部分元素,那么未初始化的元素将自动初始化为0。例如:

int nums[5] = {10, 20, 30};

这里nums[3]nums[4]将自动初始化为0。

我们还可以使用以下方法初始化数组:

int nums[5] = {0};
int nums[] = {10, 20, 30, 40, 50};

访问数组元素

数组的元素可以通过在数组名称后面加上索引号来访问。数组索引从0开始到arraySize-1。例如:nums[0]表示数组的第一个元素,nums[1]表示数组的第二个元素,以此类推。

例如,下面的代码将数组中的第三个元素(索引为2)赋值为10:

nums[2] = 10;

循环遍历数组

我们可以使用for循环来遍历数组中所有的元素。例如,下面的代码用for循环遍历nums数组中的所有元素并打印它们:

for (int i = 0; i < 5; i++) {
  cout << nums[i] << endl;
}

C++ STL 数组

C++ STL库中也提供了array容器,它提供了比原生数组更安全、更易于使用的方法,同时还提供了其他的方法和功能。以下是std::array的基本语法:

std::array<type, arraySize> arrayName;

例如:

std::array<int, 5> nums = {10, 20, 30, 40, 50};

std::array提供了类似于原生数组的访问方式,例如:

nums[2] = 10;

std::array还提供了一些其他的方法,例如:

int length = nums.size();   // 获取数组长度
int front = nums.front();   // 获取数组的第一个元素
int back  = nums.back();    // 获取数组的最后一个元素

总结

C++数组是一种基本的数据结构,它提供了存储和操作大量数据的有效方法。我们可以使用C++原生数组或者C++ STL数组来处理数组。但是,需要注意的是,C++原生数组的元素可以修改,但是数组大小是固定的,不能更改。而C++ STL数组提供了更多的功能,并且可以使用size()函数来获取数组大小。