总结:
取地址表达方式: 取值表达式:
&arr[i][j] *&( arr[i][j])=arr[i][j]
arr[i]+j //数组名字表示地址 *(arr[i]+j) *取地址里面的内容的作用
*(arr+i)+j *(*(arr+i)+j)
地址:arr[i]=*(arr+i) 记住!!
&arr[i]=arr+i //&与*抵消
此图嵌入工程师会考
代码:
#include <stdio.h>
//二维数组的地址写法
int main()
{
int arr[2][3]={{11,22,33},{44,55,66}};
int i;
int j;
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;
}
结果: