📜  C C++中的数组(1)

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

C/C++中的数组

在C/C++中,数组是一种用来存储相同类型元素的数据结构。数组中的元素通过下标访问,下标从0开始,最大为数组长度减1。数组的长度是固定的,一旦定义就无法改变。

声明数组

在C/C++中声明一个数组需要指定元素的数据类型和数组的长度。下面是一些数组声明的例子:

int arr[10]; //声明了一个长度为10的int类型数组
double prices[5] = {1.2, 3.4, 5.6, 7.8, 9.0}; //声明了一个长度为5的double类型数组,并初始化了数组元素
char str[6] = "hello"; //声明了一个长度为6的字符串数组,并初始化了前5个元素

数组的大小必须是一个常量表达式。例如,下面的代码是无效的:

int n = 10;
int arr[n]; //无效的代码
访问数组元素

数组元素是通过下标访问的,下标从0开始,最大为数组长度减1。下面是一些访问数组元素的例子:

int arr[5] = {1, 3, 5, 7, 9};
int x = arr[0]; //访问第一个元素,x的值为1
int y = arr[3]; //访问第四个元素,y的值为7
arr[2] = 10; //修改第三个元素的值为10

注意,如果访问数组时下标越界,程序将会出现未定义的行为。下面是一个访问越界的例子:

int arr[5] = {1, 3, 5, 7, 9};
int x = arr[5]; //访问越界,程序将会出现未定义的行为
多维数组

C/C++支持多维数组,即数组中的元素也是数组。下面是一个二维数组的例子:

int nums[3][4]; //声明了一个3行4列的二维数组

访问多维数组的元素需要使用多个下标。下面是一个访问二维数组的例子:

int nums[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int x = nums[1][2]; //访问第二行第三列的元素,x的值为7
指向数组的指针

在C/C++中,可以定义指向数组的指针。下面是一个指向数组的指针的例子:

int arr[5] = {1, 3, 5, 7, 9};
int* p = arr; //定义一个指向arr的指针

可以通过指针访问数组的元素,使用的语法和数组下标访问类似。下面是一个通过指针访问数组的例子:

int arr[5] = {1, 3, 5, 7, 9};
int* p = arr;
int x = *(p+1); //通过指针p访问第二个元素,x的值为3
总结

数组是C/C++中常用的数据类型之一,用来存储相同类型的元素。声明一个数组需要指定元素类型和数组长度。数组元素通过下标访问,下标从0开始,最大为数组长度减1。C/C++还支持多维数组和指向数组的指针。对于初学者来说,掌握数组的基本用法对于编写C/C++程序来说是至关重要的。