程序main函数入口arg参数的用处
参考文章
前言
今天在看一些代码的时候偶然看到自己刚开始学C的时候,main()
函数中都会有一个(int argc,char* argv[],char **env)
的传参。但是到现在依旧不理解这几个参数的意义和它们代表的作用,在稍微查阅了一下以后,浅显的总结一下。
具体意义
如果要使用argc
和argv
的话(char **env
暂时没遇到,不做记录),只需要在main
函数当中添加这两个参数即可,大致参考写法类似如下:
1 |
|
解释
argc
是一个整形的参数,代表了程序运行的时候发送给main()
函数的参数个数。
argv
则是一个字符串的数组,用来指向存放对应参数的字符串。
其中,argv[]
数组中的元素有argc
个,并且有:
argv[0]
包含的是程序运行的路径名字argv[1]
包含的是程序命名后的第一个字符串argv[2]
包含的是程序命名后的第二个字符串- …
argv[argc]
为NULL
演示方法
为让以上解释更加形象,这里引入示例代码进行解释:
1 |
|
假设代码文件存放于./b.cpp
文件当中,通过编译器编译后的可执行文件为b
。在执行如下指令:
1 |
|
返回的内容为:
1 |
|
在执行如下指令:
1 |
|
返回的内容为:
1 |
|
对应了上文中的argc
的元素个数和argv
的字符串内容,即./b
后面的oneString
、twoString
和threeString
。
程序main函数入口arg参数的用处
https://halc.top/p/98326a13