我应该在C语言中使用char ** argv还是char * argv []吗?

我只是在学习C,并且想知道在我的主要方法中应该使用哪一个。有什么区别吗?


编辑:那么哪个更常用?


三国纷争
浏览 1849回答 3
3回答

不负相思意

这实际上取决于您要如何使用它(并且在任何情况下都可以使用):// echo-with-pointer-arithmetic.c#include <stdio.h>int main(int argc, char **argv){&nbsp; while (--argc > 0)&nbsp; {&nbsp; &nbsp; printf("%s ", *++argv);&nbsp; }&nbsp; printf("\n");&nbsp; return 0;}// echo-without-pointer-arithmetic.c#include <stdio.h>int main(int argc, char *argv[]){&nbsp; int i;&nbsp; for (i=1; i<argc; i++)&nbsp; {&nbsp; &nbsp; printf("%s ", argv[i]);&nbsp; }&nbsp; printf("\n");&nbsp; return 0;}至于哪个更常见-没关系。任何有经验的C语言程序员(在正确的条件下)都可以互换代码。就像一位经验丰富的英语讲者一样轻松地读“他们是”和“他们是”。更重要的是,您学会阅读它们并认识它们的相似之处。您将阅读的代码比编写的要多,并且您需要对两者都同样满意。

蛊毒传说

它并没有真正的改变,但是后者更具可读性。正如第二个版本所说的那样,您得到的是一个char指针数组。可以像第一个版本一样将其隐式转换为double char指针。
打开App,查看更多内容
随时随地看视频慕课网APP