zoukankan      html  css  js  c++  java
  • C和C++中main函数里面参数的意义

    用一句话概括,都是用来存储命令行参数的。下面看例子:
    1.C/C++

    #include<stdio.h>

    main(int argc,char *argv[]){
    for(int i=0;i<argc;i++){
    printf("%s/n",argv[i]);

    }
    int a;
    scanf("%d",&a);
    }

    其中argc表示命令行参数的个数。C/C++规定,程序本身的文件名也算一个命令行参数,因此argc的值至少为1. argv是一个字符指针型的数组,用来存储命令行参数。如:argv[0]指向的字符串就是第一个命令行参数.

    C语言main函数的参数含义及输入   

    问题重现:C语言main函数有两个参数,怎么在VC6.0下给main函数传递参数,以及各参数的意义。

    带有参数的main()函数头格式为: 
                                                              void main(int argc, char * argv[]) 或void main(int argc, char ** argv) 
    第一个参数argc是int型的,它用来存放命令行参数的个数。实际上argc所存放的数值比命令行参数的个数多1,这是因为系统默认将命令字(可执行文件名)作为第一个参数,存放在argv[0]的位置处。 
    第二个参数argv是一个一维的一级指针数组,它是用来存放命令行中各个参数和命令字的字符串的,并且规定: 
           argv[0]存放命令字,也就是可执行的文件名
           argv[1]存放命令行中第一个参数 
           argv[2]存放命令行中第二个参数 
           …

    例子:

    假设程序的名称为prog,当只输入prog时,由操作系统传来的参数为:argc=1,表示只有一程序名称,argv[0]指向输入的程序路径及名称;当输入prog para_1时:argc=2,表示出了程序名外还有一个参数,argv[0]指向输入的程序路径及名称,argv[1]指向参数para_1字符串。

    在VC6.0中,我们进行如下设置:

    在 Project-->Setting -->Debug-->Program Arguments里面任意设置命令行参数:
                                                                   This is the first time I post documents here.^_^

    那么:

    argv[1]存放命令行中第一个参数 ,即This
    argv[2]存放命令行中第二个参数 ,即is

  • 相关阅读:
    汽车最强大脑ECU和单片机是什么关系
    自动驾驶汽车操作系统简述
    怎样区分线性和非线性_线性与非线性的区别(线性分析、线性模型)
    ADAS最全整理
    carsim2016 与 MATLAB2018 联合仿真send to simulink后编译不成功解决方法
    基于Jenkins的.Net Core应用自动部署--学习一
    vue学习一
    sql server解析xml字段
    C# string[] 转list<long>
    C++神奇算法库——#include<algorithm>
  • 原文地址:https://www.cnblogs.com/liuwen1987/p/3463223.html
Copyright © 2011-2022 走看看