main函数被调用时传递的三个参数

原创 2015年07月06日 19:07:24

我们编写的main函数,也是一个被调用的函数。像其他的小函数一样,只不过,main是被kernel的_start()函数调用。

调用main函数时候,_start()(还是exec()? 搞不清楚,_start()函数可能是exec()进程的分出来的子进程。)函数也要传递参数给main()。传递三个参数:命令行参数的个数,命令行每个字符串的指针,环境变量。

int  main (int  argc,  char  *argv[]);

第三个,环境变量,在main()函数的声明中的参数部分并没有,但是有一个库文件中,包含了一个指针数组地址的全局变量,名字叫environ;  如果你写的main函数,想要用到这个变量,那么需要在自己的 .c文件中extern 一下这个变量extern char **environ,表明这个变量不是本文件中的,是别的文件中的。这样就可以使用这个变量了。

可以把下面的代码编译后运行一下,看看打印出了哪些环境变量:

#include "apue.h"

int main(int argc,char *argv[])

{

        int i;

        externchar **environ;

        for (i=0; environ[i]!=NULL; i++)

        {

                printf("环境变量【%d%s\n",i+1,environ[i]);

        }

        printf("环境变量的个数为:%d\n",i);

        return(0);

}

~


main函数的第三个参数envp

本文首发于个人博客http://huqijun.com, 转载需或者作者授权!main函数两种常见形式在C/C++ 程序中, 操作系统通过main函数来调用程序,main函数是从程序的入口。常见的ma...
  • xiaoyaohuqijun
  • xiaoyaohuqijun
  • 2016年06月17日 00:15
  • 583

main函数的三个参数

main http://blog.csdn.net/ixsea/article/details/6686308
  • u012905667
  • u012905667
  • 2014年06月05日 17:01
  • 464

equals()和hashCode()隐式调用时的约定详解

不知道你听说过md5没有,它就是一种典型的hash算法。 我们用它加密密码。用户输入密码,服务器转换为md5密文,和存在数据库中的比对,如果相同,就视作用户输入密码正确。 很显然,这个过程中用户输...
  • Sun_P0
  • Sun_P0
  • 2016年03月23日 17:32
  • 547

identify()被调用时

当cderived。identify()被调用时,编译器查看identify()被派生类中定义的。还不行就开始寻找继承类中(在这种情况下是基地)。基地已经定义了一个identify()功能,因此使用一...
  • sssdffa
  • sssdffa
  • 2014年09月08日 07:03
  • 309

【C语言】使用main函数的参数,实现一个整数计算器

使用main函数的参数,实现一个整数计算器,程序可以接受三个参数, 第一个参数“ - a”选项执行加法,“ - s”选项执行减法,“ - m”选项执行乘法,“ - d”选项执行除法,后面两个参数为操作...
  • zgw285763054
  • zgw285763054
  • 2016年01月21日 00:34
  • 1419

main函数的参数设置

原文转自:http://blog.csdn.net/wu_lai_314/article/details/8454394 C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数...
  • w1300048671
  • w1300048671
  • 2016年06月20日 22:39
  • 954

关于main函数的三个参数

每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某 个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放 在哪个地方, 以下几点说明都是适合的。 ...
  • gaoxin1076
  • gaoxin1076
  • 2011年10月31日 21:39
  • 855

怎么给VS的main函数传递参数

在VS测试/调试程序的时候,有时候可能会需要给main的arc,argv传递参数。 传递参数的方法如下: 打开cmd窗口,进入到vs编译生成的程序目录 同cmd指令传递参数,跟linux传参数的形式很...
  • baowxz
  • baowxz
  • 2016年07月13日 10:28
  • 2306

一个郁闷的C语言小问题

平时写程序还是需要仔细仔细再仔细…………
  • pang123hui
  • pang123hui
  • 2011年03月30日 16:16
  • 1006

PID三个参数的简单理解

KpKp为PID中的比例参数,比例项根据当前量(Now)与设定量(Set)的差值按Kp比例放大后得到输出的控制量,即: Out = Kp(Set - Now)Ki通过比例项调节后,在当前量和设定量差...
  • lczdk
  • lczdk
  • 2017年02月13日 13:54
  • 1492
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:main函数被调用时传递的三个参数
举报原因:
原因补充:

(最多只允许输入30个字)