这是一个指向数组的开始指针?

我刚刚帮助一些代码。 他有这个:

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索引数组的地址位于(作为一个整体)

Interesting Posts