//数组指针,定义一个指针,指向一个数组:目的:指针偏移时,对应数组的元素大小也偏移
//数组指针等同于二维数组名
数组指针指向的时数组整个地址,不是指向数组首元素地址
引用别人的来帮助记忆:
int (*p1)[3];//数组指针写法:(*字母)【列数】
p1=arry首元素地址;//下同 p1+1代表44 55 66一组数组
//数组指针,定义一个指针,指向一个数组:目的:指针偏移时,对应数组的元素大小也偏移
//数组指针等同于二维数组名
int main()
{
int arr[2][3]={{11,22,33},{44,55,66}};
int i;
int j;
int *p;
//p = &arr[0][0]首元素地址
//p = arr 另一种写法
int (*p1)[3];//数组指针写法:(*字母)【列数】
p1=arry;//下同 p1+1代表44 55 66一组数组
for(i=0;i<2;i++){
for(j=0;j<3;j++){// 地址表达方式: 取值表达方式:
printf("add:0x%p;data:%d \n",&arr[i][j],arr[i][j]);
printf("add:0x%p;data:%d \n",arr[i]+j,*(arr[i]+j));
printf("add:0x%p;data:%d \n",*(arr+i)+j,*(*(arr+i)+j));
printf("------------------------\n");
}
}
return 0;
}
代码中arry可2替换为p1