📜  c++ 数组 (1)

📅  最后修改于: 2023-12-03 14:59:49.099000             🧑  作者: Mango

C++数组

数组是一种存储多个相同类型数据的连续结构,其中每个元素在内存中的地址是连续的。C++中的数组可以存储任何数据类型,包括基本数据类型、结构体和类等。本文将详细介绍C++数组的相关内容。

数组的声明和初始化

C++中声明数组的语法如下:

type arrayName [ arraySize ];

其中,type表示数据类型,arrayName表示数组的名称,arraySize表示数组的大小。数组的大小必须是一个正整数,可以是一个常量、变量或表达式等。

数组的初始化也可以在声明时进行,语法如下:

type arrayName [ arraySize ] = { value1, value2, ..., valueN };

其中,value1, value2, ..., valueN表示要初始化的元素值,数组的元素个数必须等于arraySize。

下面是一个例子:

int arr[5] = { 1, 2, 3, 4, 5 };
数组的访问

数组的元素可以通过索引访问,索引从0开始。语法如下:

arrayName [index];

其中,arrayName表示数组名称,index表示元素的索引。

下面是一个例子:

int arr[5] = { 1, 2, 3, 4, 5 };
cout << arr[0] << endl; // 输出1
cout << arr[2] << endl; // 输出3
数组的遍历

我们可以使用for循环遍历数组,语法如下:

for (int i = 0; i < arraySize; i++) {
    // 处理arr[i]
}

其中,i表示数组元素的索引,arraySize表示数组的大小。

下面是一个例子:

int arr[5] = { 1, 2, 3, 4, 5 };
for (int i = 0; i < 5; i++) {
    cout << arr[i] << " ";
}
// 输出1 2 3 4 5
多维数组

C++也支持多维数组,例如二维数组、三维数组等。可以将多维数组看作是一个矩阵,其中第一个索引表示行,第二个索引表示列。

二维数组的声明和初始化语法如下:

type arrayName [ xSize ][ ySize ];
type arrayName [ xSize ][ ySize ] = { {value1, value2, ..., valueY}, ... , {value1, value2, ..., valueY} };

其中,type表示数据类型,arrayName表示数组的名称,xSize和ySize表示数组的大小,value1, value2, ..., valueY表示要初始化的元素值,每一行的元素个数必须等于ySize。

下面是一个例子:

int arr[2][3] = { {1, 2, 3}, {4, 5, 6} };

多维数组的访问和遍历与一维数组类似,只需增加一个维度即可。

动态数组

C++还支持动态数组,即在程序运行时根据需求动态申请内存。可以使用new运算符动态创建数组。

语法如下:

type *arrayName = new type [arraySize];

其中,type表示数据类型,arrayName表示数组名称,arraySize表示数组的大小,使用完后需要使用delete运算符释放内存。

下面是一个例子:

int *arr = new int[5]; // 创建一个大小为5的int类型数组
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
cout << arr[2] << endl; // 输出3
delete[] arr; // 释放内存
总结

本文介绍了C++数组的相关内容,包括数组的声明和初始化、访问、遍历、多维数组和动态数组等。数组是C++中最基本的数据结构之一,掌握数组的使用对于C++程序员来说是非常重要的。