在C语言中,使用指针可以访问数组的元素。对于二维数组而言,我们通常会将其看做一个指向一维数组的指针数组(这里需要强调的是二维数组地址连续)
例如,如果我们有一个二维数组 arr,它包含3行3列,可以定义一个指向这个数组的指针 p:
#include<stdio.h>
int main() {
int arr[3][3]={1,4,7,8,9,6,3,2,5},*p;
//指针p指向数组的首个元素,也可以理解为首个地址
p=arr;
//接下来,我们可以使用指针来访问数组元素。例如,要访问第2行第2列的元素,可以使用以下代码:
int a=*(*(arr+1)+1);
printf("%d",a);
return 0;
}
其中,*(arr+1) 指向二维数组的第2行,*(*(arr+1)+1)指向该行的第2个元素,最终使用 * 运算符获取该元素的值
这里再次强调:二维数组地址连续
在某些情况下,使用指针访问二维数组元素更加方便和灵活。