main()中的参数argc, argv

转自:http://blog.csdn.net/eastmount/article/details/20413773

一.main()函数参数
通常我们在写主函数时都是void main()或int main() {..return 0;},但ANSI-C(美国国家标准协会,C的第一个标准ANSI发布)在C89/C99中main()函数主要形式为:
(1).int main(void)
(2).int main(int argc,char *argv[]) = int main(int argc,char **argv).
其参数argc和argv用于运行时,把命令行参数传入主程序.其中ARG是指arguments,即参数.具体含义如下:
(参照Arguments to main和C++ Primer7.2.6节)
(1).int argc:英文名为arguments count(参数计数)
count of cmd line args,运行程序传送给main函数的命令行参数总个数,包括可执行程序名,其中当argc=1时表示只有一个程序名称,此时存储在argv[0]中.
(2).char **argv:英文名为arguments value/vector(参数值)
pointer to table of cmd line args,字符串数组,用来存放指向字符串参数的指针数组,每个元素指向一个参数,空格分隔参数,其长度为argc.数组下标从0开始,argv[argc]=NULL.
argv[0] 指向程序运行时的全路径名
argv[1] 指向程序在DOS命令中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
argv[argc] 为NULL.

转载于:https://www.cnblogs.com/qinduanyinghua/p/7679404.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: main函数的argcargv参数是用来接收命令行参数的。其argc表示命令行参数的个数,argv是一个指向字符指针的数组,每个元素指向一个命令行参数的字符串。通过这两个参数,可以在程序运行时从命令行获取参数,从而实现程序的灵活性和可配置性。 ### 回答2: 在C语言main函数是一个程序的入口点,程序的执行都是从main函数开始的。在main函数的定义可以使用两个参数,分别是argcargvargc表示传入main函数的参数数量,即命令行参数的个数。argv则是一个指向字符串数组的指针,每个字符串表示一个命令行参数。第一个参数是程序名称,从argv[1]开始依次表示其他参数。 通过使用argcargv,我们可以传递程序的命令行参数,即在命令行输入参数来修改程序的行为。例如,输入./main -v可以开启程序的详细输出模式,或者输入./main -h可以打印程序的帮助信息。 在实际编程,我们可以使用getopt函数来解析命令行参数,从而更方便地使用argcargv。getopt函数可以自动识别参数和选项,并将其转换为相应的变量。此外,还有一些第三方库和工具可以帮助我们更好地处理命令行参数,例如argparse和cli等。 总之,argcargv是非常重要的命令行参数,在程序开发经常使用。正确理解和使用argcargv可以帮助我们更好地实现程序的功能,提高程序的易用性和可维护性。 ### 回答3: 在C语言main函数是程序的入口函数,程序的执行都从main函数开始。在main函数,通常会用到两个参数,它们分别是argcargvargc表示命令行参数的个数,即argument count的缩写。它是一个整数类型的变量,其值至少为1,因为程序名本身也算一个参数。如果在命令行没有传入其他参数argc就为1。 argv表示命令行参数列表,即argument vector的缩写。它是一个指向字符指针数组的指针,每个指针指向一个参数的字符串,argv[0]存储的是程序名。因此,argv的长度就是argc+1。 举个例子,如果我们在命令行输入了以下命令: ./hello world 123 那么argc的值为3,即有3个参数。而argv数组存储的值为: argv[0]: ./hello argv[1]: world argv[2]: 123 通过argcargv参数,我们可以实现对命令行输入的参数进行处理。这对于需要用到命令行参数的程序,如批处理脚本、工程构建工具等非常有用。同时,也可以通过使用命令行参数去配合使用其他函数,如标准库函数getopt()可以解析命令行选项并提供错误检测。因此,了解和使用好argcargv参数是C语言程序设计的基础知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值