`
java-mans
  • 浏览: 11448347 次
文章分类
社区版块
存档分类
最新评论

main函数参数

 
阅读更多
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函数只能由系统调用)。用户自己定义多个函数时,这几个用户自己定义的函数之间都可以互相调用 。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics