Linux C语言:main函数的参数int argv 和 char* argc [ ]

霸气de小男生 提交于 2020-01-26 05:03:50

1. int argv

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

例:
./main.out 的 argv=1
./main.out -l 的 argv=2
./main.out -l-a 的 argv=3

2. char* argc [ ]

*argv[ ]: 指针数组,
用来存放指向你的字符串参数的指针,
每一个元素指向一个参数。
其中argv[0] 指向程序运行的全路径名,
argv[1] 指向在DOS命令行中执行程序名后的第一个字符串,
argv[2] 指向执行程序名后的第二个字符串,
argv[argc]为NULL。

例:

#include <stdio.h>

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

运行
./main3.out -l -a
结果

argv is 3
argc[0] is ./main3.out
argc[1] is -l
argc[2] is -a
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!