数组的地址和数组地址的地址

时间:2015-01-31 19:20:13

标签: c

我在此代码中存在冲突

 `int main(){
int arr[3][4]={1,2,3,4,
           4,3,2,1,
           7,8,9,0};


 printf("%x %x %x \n",arr,arr+1,&arr+1);
 return 0;}`

输出在我看来如下: 9278fc40 9278fc50 9278fc70

arr + 1和& arr + 1之间有什么区别: 我没有得到关系

有人可以帮忙吗

1 个答案:

答案 0 :(得分:0)

对于两个第一个参数,您要打印int值arr [0] [0],arr [0] [1]的存储器地址。 & arr + 1是不同的。这里的+ 1迭代列。因此& arr + 1实际上指向第二列的第一个int的内存地址。