c语言中argc和argv[ ]的作用及用法

argc和argv是C语言main函数的参数,用于接收命令行输入的参数。argc表示参数个数,argv是一个字符串数组,包含每个参数的值。例如,当运行`./argtest 1234 abcd`时,argc为3,argv[0]是程序名(含路径),argv[1]和argv[2]分别是输入的参数1234和abcd。通过这两个参数,可以实现向程序传递额外信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

argc 是 argument count的缩写,bai表示argv这个二级指针指向的du内存区域中保存的zhi由stub写入的有效命令行参dao数的个数.

argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要输入的main函数的参数个数是argc-1个。
 

main(int argc,char *argv[ ])

1.argc为整数

2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[][]   ,argv是一个指针数组)

 注:main()括号内是固定的写法。
 

在c语言编程中,经常可以看到如下的main函数声明:

int main(int argc, char *argv[])

那么argc和argv[ ]是干什么用的呢?

其中argc是外部输入的参数个数,argv[ ]是参数的字符串数组。光这么说大家可能不太明白,那我们来看一个示例,如下所示的C文件argtest.c

#include <stdio.h>
 
int main(int argc, char *argv[])
{
	printf("argc is %d\n",argc);
	for(int i=0;i<argc;i++)
	{
		printf("argv[%d] is: %s\n",i,argv[i]);	
	}
	
	return 0;
}

这几行代码比较简单,首先打印argc的值,然后打印出所有argv[ ]数组的字符串。

采用下面命令对c文件进行编译

gcc argtest.c -o argtest

编译后生成可执行文件argtest,执行下面的命令

./argtest 

则程序输出结果为

argc is 1
argv[0] is: ./argtest

这表明在执行这个程序时,输入的参数只有一个,而且这个参数就是执行程序的这个命令。

执行下面的命令

./argtest 1234 abcd
  • 则程序输出结果为
argc is 3
argv[0] is: ./argtest
argv[1] is: 1234
argv[2] is: abcd

这表明程序输入的参数有3个,命令的后面两个用空格分隔的字符串都传给了main函数。

通过argc和argv[ ]我们就可以通过命令向程序传递参数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值