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

C++ C/C++;字符**argv VS*argv[],c++,c,C++,C,我一直在想,在C/C++主函数的主函数中,char**argv和char*argv[]之间有什么区别。请给我任何答复,谢谢。假设您指的是char**argv和char*argv[],那么两者都是相同的。函数参数中的数组声明被衰减为指针类型,因此使用哪一种只是首选问题。您是指char**argv而不是char**argv[]?因为这是正确的形式。感谢您的贡献。因此,如果我选择使用char**argv[]而不是默认的char*argv[],它不会影响我的代码?@user3526881:if是char

我一直在想,在C/C++主函数的主函数中,char**argv和char*argv[]之间有什么区别。请给我任何答复,谢谢。

假设您指的是
char**argv
char*argv[]
,那么两者都是相同的。函数参数中的数组声明被衰减为指针类型,因此使用哪一种只是首选问题。

您是指
char**argv
而不是
char**argv[]
?因为这是正确的形式。感谢您的贡献。因此,如果我选择使用char**argv[]而不是默认的char*argv[],它不会影响我的代码?@user3526881:if是
char**argv
(没有方括号和两个
*
)或
char*argv[]
(方括号和一个
*
)。你可以用任何一个,这都不会有什么不同。但是
char**argv[]
(方括号和两个
*
)是不正确的。@user3526881没有比
char**argv[]
更有效的了,它是
char*argv[]
char**argv
,句点@user3526881还注意到,当我们说它们是可互换的时,我们的意思是它们作为函数参数是可互换的。创建类型为
T*x[n]
的对象时,实际上是在创建一个
n
指针数组。数组作为参数传递时会衰减为指针。