使用&与arr与否?

时间:2017-04-16 12:49:43

标签: c arrays pointers

假设我有这样的事情:

#include<stdio.h>
int main()
{
    int arr[2][2][2]={1,2,3,4,5,6,7,8};
    printf("%d\n",sizeof(int));
    printf("%d\n",&arr[0][1]);
    printf("%d\n",&arr[0][1]+1);
    printf("%d\n",arr[0][1]);
    printf("%d\n",arr[0][1]+1);
    printf("%d\n",arr[0]);  
    printf("%d\n",arr[0]+1);
    printf("%d\n",&arr[0]);
    printf("%d\n",&arr[0]+1);
    printf("%d\n",&arr);
    printf("%d\n",&arr+1);
    printf("%d\n",arr);
    printf("%d\n",arr+1);

    return 0;
}

现在,当我们执行它时,printf("%d\n",arr)printf("%d",arr+1)printf("%d\n",&arr[0])printf("%d\n",&arr[0]+1)的结果相同。

有人可以用简单的外行语言解释使用&amp;操作员和不使用时。我的意思是我们只能用一种方式,另一种方式需要什么?

What's the difference between array and &array?

考虑到这个链接,有人说:

“&amp;数组的类型是int()[16](指向16个整数数组的指针)。数组的类型,当被放弃时,是int (一个指针)到一个整数)。“

你如何准确地确定&amp;数组和数组的类型,以及“什么时候离开衰变”的含义是什么?

0 个答案:

没有答案
相关问题