int sampleArray[] = {1,2,3,4,5};
我知道
sampleArray
现在指向数组的第一个元素。然而,当我说
&sampleArray
是什么意思?这是否意味着我得到了sampleArray
变量的地址?或者是指二维数组变量?所以,我能这样做吗:
int (*p)[5] = &sampleArray?
最佳答案
不,sampleArray
并没有真正指向数组的第一个元素。sampleArray
是数组。
出现这种混淆是因为在大多数使用sampleArray
的地方,它将被替换为指向数组第一个元素的指针。”“大多数位置”表示“它不是sizeof
或一元-&
运算符的操作数的任何位置”。
因为sampleArray
是数组本身,而作为一元的操作数-&
是它保持这种个性的地方之一,这意味着&sampleArray
是指向整个数组的指针。