• 探析熟悉而又困惑的参数:argc && argv


      学习编程应该都非常熟悉这两个参数,可是对于初学者来说,往往要弱化argc和argv的用法,因为main函数常常不带参数。接下来,让我们看看这两个参数吧!

      argc和argv指的是“参数”。其中,argc为整数,用来统计运行程序时送给main函数命令行参数的个数;argv 加上 * 与 [],表示字符串数组,用来存放指向字符串参数的指针数组,每一个元素指向一个参数。

    具体含义:

      argc 和 argv 这两个参数一般在命令行编译程序时有用。

      主函数 main 中变量 (int argc,char *argv[]) 的含义

      有些编译器允许将 main() 函数的返回类型声明为 void,这就不再是合法的C++了

      其实,main(int argc,char *argv[],char **env)才是UNIX和Linux中的标准写法。

      argc:int类型,用来统计程序运行时发送给main函数命令行参数的个数,在VS中默认为1。

           argv:char* 类型,用来存放指向字符串参数的指针数组,每一个元素指向一个参数。成员含义如下:

           argv[0]:指向程序运行的全路径名

      argv[1]:指向在dos命令行中执行程序名后的第一个字符串

      argv[2]:指向执行程序名后的第二个字符串

      argv[3]:指向执行程序名后的第三个字符串

      argv[argc]:为NULL

      需要指出,argv[1] 对应于【项目属性】--》【配置属性】--》【调试】--》【命令参数】中的值。记住双引号也要带上(如读取名为1.jpg的图片,要在命令参数中填写 “1.jpg”,若有多个参数,参数之间用空格分开)

      env:char**类型,为字符串数组。env[]的每一个元素都包含ENVVAR=VALUE形式的字符串。其中,ENVVAR为环境变量,value为ENVVAR的对应值。

      argc、argv和env是在main()函数之前被赋值的。其实main()函数严格意义上并不是真正意义上程序的入口点函数,往往入口点还与操作系统有关。而在Windows的控制台应用程序中,将main()函数作为程序的入口点,并且很少使用argc、argv等命令行参数。

  • 相关阅读:
    关键字与标识符
    JAVA 程序的基本语法
    第一个java程序中文乱码以及如何解决
    第一个java程序以及java的运行机制
    java中求余%与取模floorMod的区别
    Volley 框架解析(二)--RequestQueue核心解读
    Volley 源码解析
    Android之Activity系列总结(三)--Activity的四种启动模式
    Android之Activity系列总结(二)--任务和返回栈
    Android之Activity系列总结(一)--Activity概览
  • 原文地址:https://www.cnblogs.com/IamJiangXiaoKun/p/9737150.html
Copyright © 2020-2023  润新知