1.main函数原型:
int main(int argc, char * argv[], char * envp[]);
2. argc:是命令行参数的数目(这个值包含命令本身,如果后面没有参数,则argc=1)
argv:是一个指针数组,其各成员依次指向各参数,即argv[0]指向命令本身。指针数据的最后一个成员为NULL,以区别结束。
envp:存放是系统的环境变量。以下一段代码就是用来打印出envp的值的:
/*
*filename: printEnvp.c
*author: Yang Zhiyong
*date: 2012-4-14
*email:ljy520zhiyong@163.com
*/
#include <stdio.h>
int main(int argc, char * argv[], char *envp[])
{
int i = 0;
for (i=0; ; ++i)
{
if ( envp[i] )
{
printf("envp[%d] is %s\n", i, envp[i]);
}
else
{
break;
}
}
return 0;
}
在我的系统环境里(Debian6.04 -- Testing -- GCC 4.6.3 x86_64):显示:
3.
main为程序运行的主入口方法,每个程序只有一个.
任何一个C语言程序(准确来说是一个可独立运行的程序)都有一个main,这是规定。
4.
main函数与用户自己定义的函数都是各自独立的模块,即函数不能嵌套定义,通俗的说,你不能在一个函数的函数体内定义另一个函数,即使在main函数中也不行。但main函数可以对用户自己定义的函数进行调用(但main函数只能由系统调用)。用户自己定义多个函数时,这几个用户自己定义的函数之间都可以互相调用 。