命令行参数,main函数带参数的使用

之前学习C语言一直停留在简单的int main()上,最近在学习其他内容时需要用到main函数的参数,所以又重新学习了一遍这方面的知识。

在带参数的main中,它接受两个参数,分别是int ,char **类型。所以函数原型可以写成int  main (int ,char **)

不过出于方便,一般都会写成这样

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

首先将下这两个变量的名字的含义吧

argc  是argument count的缩写,表示参数的数量

argv 是argument vaule的缩写,表示参数的值

argv数组中存放的是char*类型的指针,这和上面的char **  是等价的,由于数组做参数,也只是传递进去数组的地址,即指针,所以还是会被编译器编译成指针的指针(二级指针)。

然而我们在输入参数的时候无法避免要输入程序的名字,所以实际的参数指针从argv[1]开始存放。而argv[0]就存放了函数名字。

附上一个简单程序,大家体会一下。

#include <stdio.h>

int main(int argc,char *argv[])
{
	if(argc==1)
	{
		printf("there is only one argument\n");
		printf("%s\n",argv[0]);
	}
	else
	{
		int cnt=1;
		while(cnt<argc)
		{
			printf("the %d argument is %s\n",cnt,argv[cnt]);
			cnt++;
		}
	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值