关于main函数
一般我们见到的main函数如下形式:
#include <stdio.h>
int main(int argc, const char * argv[]) {
printf("argc=%d\n",argc);
int i = 0;
while (i<argc) {
printf("argv[%d]=%s\n",i,argv[i]);
i++;
}
printf("Hello, World!\n");
return 0;
}
对main()函数不能由其它函数调用和传递参数,只能在程序启动运行由系统时传递参数
- 第一个参数argc(argument count)表示参数的个数,
- 第二个参数argv(argument value)是一个指向字符串的指针数组,它存储了参数的值都用字符串表示。
例如我们把上边的代码保存文件为hello.c,然后在终端执行如下令:
-
编译执行
gcc hello.c -o hello
-
赋予权限
sudo chmod 777 hello
-
运行
hello a b c
最后会打印如下结果
argc=4 argv[0]=hello argv[1]=a argv[2]=b argv[3]=c Hello, World!
从结果看来argv[]数组中的第一个参数通常为文件名如hello,其他参数才是自己输入的参数,而这些参数的个数和值都有系统进行赋值的。