当我通读C代码时,我经常看到这样的情况:
int main(int argc, char **argv)
但我总是学着这样做:
int main(int argc, char *argv[])
那么,我为什么要用一个而不是另一个呢?我知道它们在技术上是不同的,但我不太明白为什么我会使用一个而不是另一个.
先谢谢你.
当我通读C代码时,我经常看到这样的情况:
int main(int argc, char **argv)
但我总是学着这样做:
int main(int argc, char *argv[])
那么,我为什么要用一个而不是另一个呢?我知道它们在技术上是不同的,但我不太明白为什么我会使用一个而不是另一个.
先谢谢你.
在功能上,为了访问参数,这两个表示法是等价的.
[]
表示法在区分指向单个元素的指针和指向数组的指针方面可能具有边际优势;char**
可能被误读为类型char*
的输出参数.
不过,不太可能有main()
英尺长的S argv
.