【发布时间】:2020-11-03 21:54:14
【问题描述】:
int main(int argc, char* argv[]) 和 int main(int argc, char** argv) 有什么区别吗
我看不出有什么不同。
还有,哪个更好用?
【问题讨论】:
-
char* argv[]和char **argv是等价的。但是,您的问题中的char** argv[]不是。前两个之间的选择是任意的。我喜欢括号,因为它感觉更像数组。 -
由于启动代码不知道您使用的是哪一个,因此两个变体的结果必须相同。因此,您可以选择您最喜欢的一个。
-
技术上没有。第一个 (
char *argv[]) 是旧约定,可能被认为在语义上更准确,因为argv是一个指针数组。 -
错字已修复,我一直使用
int main(int argc, char* argv[]),这就是我打错字的原因。 -
@Some 程序员老兄,Re "
argv是一个指针数组。",不,不是。它是一个指针。例如,sizeof(argv)将返回指针的大小。