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

来源:互联网 发布:在淘宝见过最污的东西 编辑:程序博客网 时间:2024/05/26 12:00

之前学习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;}


原创粉丝点击