为了账号安全,请及时绑定邮箱和手机立即绑定

第一个参数argc表示参数个数,第二个参数argv是参数组,这个作用是什么

第一个参数argc表示参数个数,第二个参数argv是参数组 这个作用是什么呢?

正在回答

2 回答

dos命令用过吧,命令后面不是要根一些参数吗,这两个参数就是返回你从命令行给的参数的,你可以有这两个参数实现和Dos命令一样的功能,在你的程序里根据返回的参数来进程不同的程序逻辑的编写

0 回复 有任何疑惑可以回复我~

我也是新手,如果我没记错的话,是用于在命令行执行的时候,传递参数用的。就像我们在命令行窗口运行命令传递的参数一样,这里传递的也是字符串参数。第二个二级指针指向一个数组中。而这个数组类似我们在C语言中定义的一个指针数组。这里说起来话就长了,。

char *strings[] = { "Hello", "World", "C", "Programming" };

类似于这个数组,就是一个指针数组;这个指针数组里面有四个元素,这四个元素的值均为指针,其指向这四个常量字符串的首地址。例如访问第一个常量字符串可以使用strings[0], 这个“strings[0]”返回值是第一个常量字符串的首地址。这个常量字符串占用6字节,末尾一个0值。 

说远了,我们知道数组名是一个指针,也就是"strings",这个指针是一个指向指针的指针,也就是二级指针。若要传递给一个函数,函数的形式参数就得是一个二级指针,然后直接将strings填上去即可。例如:

main(sizeof(strings), strings);

sizeof(strings)返回值为4,因为数组里面就存了四个指针值。


这样我们在程序内就可以访问到传入的任意一个字符串了。要问有几个字符串,我们可以直接通过main函数的第一个参数的值获取下来,例如要访问第二个字符串做printf打印,就可以这样写:

printf("%s\n", argv[1]);

这样就可以打印出第二个字符串了。"argv[1]"返回的就是第二个字符串的首地址了;


可能有没有描述清楚的,可以再进行提问哈。我也是新手,咱们共同交流学习。

望采纳

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
趣味 C++ 入门
  • 参与学习       30797    人
  • 解答问题       185    个

C++ 入门,开启趣味学习之旅,揭开 C++ 的神秘面纱,让你不再望而生畏。

进入课程

第一个参数argc表示参数个数,第二个参数argv是参数组,这个作用是什么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信