我了解到数组的名称实际上是
array_name[0]
的地址。那么为什么在初始化指向数组的指针时需要在数组名称前添加&符号? int (*pointer_name)[5] = &array_name;
我尝试过:
int *pointer_name = array_name;
它能正常工作。除了“指针类型”之外,它们之间有什么区别?它们各自的优缺点是什么?何时使用它们?它们中是否有任何一个比另一个功能更强大/更好?
array_name[0]
的指针,但并非所有情况都是如此。而且你绝对不能说数组的名称就是array_name[0]
的地址。 - AnT stands with Russia