📅  最后修改于: 2023-12-03 15:26:10.383000             🧑  作者: Mango
数组指针是指向数组的指针,它可以指向数组中的一个元素,也可以指向整个数组。在C语言中,数组名就是指向数组第一个元素的指针,因此,我们可以使用指针来操作数组。
int arr[5] = {1, 2, 3, 4, 5};
int *p;
// 指向数组的第一个元素
p = arr;
我们可以通过指针来访问数组中的元素,也可以通过指针来修改数组中的元素。
// 访问数组中的元素
int a = *(p+2); // 等价于 a = arr[2];
// 修改数组中的元素
*(p+2) = 100; // 等价于 arr[2] = 100;
我们也可以使用指针来指向二维数组。一个指向二维数组的指针其实就是一个指向数组的指针,它可以指向二维数组中的任意一个元素。
int a[2][3] = {{1,2,3},{4,5,6}};
int (*p)[3]; // p是指向一个含3个元素的一维数组的指针
// 指向二维数组的第一行
p = a;
// 访问二维数组中的元素
int x = *(*p+2); // 等价于 x = a[0][2];
// 修改二维数组中的元素
*(*p+2) = 100; // 等价于 a[0][2] = 100;
使用数组指针可以方便地操作数组,可以访问和修改数组中的元素,也可以指向二维数组中的元素进行操作。熟练掌握数组指针的使用可以提高程序的效率,减少代码的复杂度。