C/C++ 字符 **argv VS *argv[]

Neo*_*kon -2 c c++

请问我一直在想,C/C++ main函数的main函数中char **argv和char *argv[]有什么区别。请我将不胜感激任何答案,谢谢。

dre*_*lax 5

假设你的意思是char **argvand char *argv[],那么两者都是一样的。函数参数中的数组声明退化为它们的指针类型,因此使用哪种类型只是一个偏好问题。

  • @user3526881 另请注意,当我们说它们是可互换的时,我们的意思是它们可以作为*函数参数* 互换。当您创建一个类型为 `T* x[n]` 的对象时,实际上是在创建一个包含 `n` 个指针的数组。将指针作为参数传递时,数组 *衰减* 指向指针。 (2认同)