这是一个指向数组的开始指针?
我刚刚帮助一些代码。 他有这个:
char dataArray[10];
然后想获得一个指向数组的开始的指针。 而不是使用:
&dataArray[0]
要不就
dataArray
他曾经
&dataArray
他最终有一个指针指向那里的指针? 我不确定数据&dataArray
会给他什么。
-
&dataArray[0]
的types是char *
。 这是一个指向char
的指针。 -
dataArray
的types是char[10]
-
&dataArray
将是char (*)[10]
typeschar (*)[10]
。 这是一个指向数组的指针。
除此之外, 价值将是相同的,即它们指向相同的地址,但是它们的types不需要兼容。
这里没有一个是指针指针 。 他们只是不同types的指针。
注意:因为数组衰减属性, char [100]
会衰减为char *
,例如,当作为函数的入口传递时。
dataArray和&dataArray [0]指向数组的第一个索引的地址,所以它们是相同的东西,但是&dataArray将指向整个数组的地址,或者我们可以说它会给出整个10索引数组的地址位于(作为一个整体)