c/类c语言的main函数一般都是整个程序的入口,一般大家都知道标准的写法如下
int main(int argc, char **argv)
{
... ...
return 0;
}
int
main
大家一定很郁闷,程序运行完就完了,干嘛还要返回值,有什么用呢?其实懂一点操作系统的同学都知道,我们的系统是一个庞大的应用程序,在其下运行的每一个程序就像是被调用的函数一样,调用完后一定要有返回值让系统来判断程序是否结束,如果结束,系统就会释放其占用的所有资源。
return 0
那么为什么非要返回0呢?因为每个程序都是一个进程,相应的有一个进程号,也就是PID,可以命令行中输入ps -ef
查看。
argc
如果您在main函数里加上一句
printf("the number of parameters is %d",argc);
如果您只是普通的运行程序的话,您可以看到,会输出1,那么这个参数到底是什么呢?
argv[]
所有的参数都被存在这个指针数组里面,每个运行的程序名为数组的首元素,如果操作过linux系统的同学都知道,运行程序的时候是可以跟参数的,比如说
./test para1 para2
那么依次,argv[]里储存的就是{"test","para1","para2"};
依次类推。
您可以注意到了,他们都是以字符串的形式输入的(即使您的参数是数字),所以如果您在使用他们的时候需要进行一些转换。