ubuntu下C语言函数传参

在进行C语言编程时,有时候需要使用命令行传参,下面对其进行一个分析。

int main(int argc,const char * agrgv[])

int argc 命令行参数个数(包含文件名)

const char* argv[] 指针数组:将命令行参数首地址作为元素,加上const关键字的意思是数组中的内容是不能修改的,很明显,我们进行传参的时候,里面的内容是不需要修改的,这就是const关键字的真正含义!

源码例子:

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

源码运行结果:

扫描二维码关注公众号,回复: 4137101 查看本文章

分析:

执行./a.out的时候,参数的个数为1个,这是a.out被放入到了argv[0]中;

执行./a.out  ls的时候,参数的个数为1个,这是a.out被放入到了argv[0]中;

ls被放入到了argv[1]中。

以下方式实现参数无限传递,并且无限显示:

#include <stdio.h>
int main(int argc, const char *argv[])
{
	int i = 0;

	printf("argc = %d\n",argc);
	
	for (i = 0; i < argc; i++ )
	{
	printf("argv[%d] = %s\n",i,argv[i]);
	}
	return 0;
}

这样就可以完全理解命令行传参的全部了!

猜你喜欢

转载自blog.csdn.net/zxy131072/article/details/84202330
今日推荐