c语言中main函数是可以带参数的,平时写倒是没怎么用这个参数,学习了一下这个参数。
C语言规定了main函数只能有两个参数,并且其类型也规定了,习惯上把他们写成:
main(int argc , char *argv[])
第一个参数是整形,第二个参数是指向字符串的指针数组,为什么这么定义?有什么用?
C语言还规定了程序的执行是从main函数开始的,这和操作系统有关,因为平时我们开发是在操作系统之上进行的,自己写的程序都是由操作系统引导的,如果你自己写引导程序当然就不用main函数开始了。然后回到这个有什么用的问题,既然从它开始,那给它形参有什么用,哪个函数调用它。
main函数的参数获得只能在执行它时给到,比如linux下运行 example 这个c程序:
./example hello hello hello
这三个hello就是传给main函数的参数,这里就可以知道为什么要定义为一个整形和一个指向字符串的数组。注意是指向字符串的数组,相当于指针数组,可以放置多个字符串,所以我们的参数可以是三个也可以是其他个数,第一个整形参数保存参数个数。
#include <stdio.h>
void main(int argc , char *argv[])
{
while(argc-- > 1)
printf("%s", *++argv);
}
输出解果是三个hello 。
注意./example 这个程序的名字也是算一个参数的,所以这里总有四个参数。can shu