C语言基础语法第六章指针 demo13_数组指针
//能不能定义一个指针,让指针偏移的时候,也偏移对应大小的数组?
//数组指针,定义一个指针,指向一个数组!
//数组指针才是真正等同于二维数组名 p2 = arr


#include <stdio.h>
int main()
{
int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int i,j;
int *p;
//能不能定义一个指针,让指针偏移的时候,也偏移对应大小的数组?
//数组指针,定义一个指针,指向一个数组!
//数组指针才是真正等同于二维数组名 p2 = arr
int (*p2)[4];
p2 = arr;//数组指针
printf("p2=%p\n",p2);
printf("arr[0]=%p\n",arr+0);
printf("arr[0]=%p\n",arr[0]+0);
printf("arr[0]=%p\n",*(arr+0)+0);
//printf("++p2=%p\n",++p2);
printf("arr[1]=%p\n",arr+1);
printf("arr[1]=%p\n",arr[1]+0);
printf("arr[1]=%p\n",*(arr+1)+0);
for (i=0;i<3;i++){
for (j=0;j<4;j++){
printf("%d\n",*(*(p2+i)+j));//这里p2等于arr 数组指针才是真正等同于二维数组名
}
}
return 0;
}
C语言:理解数组指针与二维数组的关系,
本文是一个C语言的示例代码,探讨了如何使用数组指针来操作二维数组。通过定义一个指针`p2`为`int(*p2)[4]`,使其可以指向数组的首地址,从而实现类似二维数组的行为。代码中展示了指针偏移时如何影响到数组的访问,并通过`for`循环打印了二维数组的所有元素。
137

被折叠的 条评论
为什么被折叠?



