main函数的参数

 在一些教材中,我们常常可以看到main函数的形式如下:int main(int argc,char* argv[]),这两个参数是干什么的呢?如何传递给main函数呢?

1.含义

  首先必须知道,main函数是由系统调用的,在调用的同时传递参数。

  例如,在文件file1.c中,有如下内容:

#include <stdio.h>

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

{

         printf("exe executed!\n");

}

经过编译后,在工程目录的debug文件夹下,可以得到“file1.exe”文件,我们要在DOS下执行这个文件,就要以一定的格式输入命令行,格式如下:

命令名  参数1,参数2,……参数n

比如,要执行上述exe文件,可以输入:

   file1

可以得到以下结果:

如果我们要传递参数,则可以输入以下内容:

file1 China BeiJing

现在,我告诉您:

  argc的含义是argument count:它是一个int行变量,表示传递给main函数的参数数量;

  argv的含义是argument value(值):它是一个指向字符串的指针数组,每个指针元素指向各个具体的参数;

您可以猜到argc的值和argv的值是多少了么?

argc=3,而不是2,因为命令名“file1”也算一个参数!因此从此处也可以知道,argc是恒>=1的。

而argv呢?看下图:

2.用法

  既然知道了各个参数的含义,那么如何使用该参数呢?看了下面这个简单的程序您就会明白:

#include <stdio.h>
int main(int argc,char* argv[])
{
    while(argc>0)
    {
        argc--;
        printf("%s\n",*argv);
        argv++;   /*指向下一条参数*/
    }
}

调用方法和运行结果:

时间: 2024-12-21 20:32:58

main函数的参数的相关文章

c语言:使用main函数的参数,实现一个整数计算器

/* 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数, 第一个参数"-a"选项执行加法,"-s"选项执行减法, "-m"选项执行乘法,"-d"选项执行除法,后面两个参数为操作数. */ #include<stdio.h> #include<stdlib.h> int my_calculator(char *p,int num1,int num2)//calculator表示计算器 {

C++ main()函数及其参数

1.首先,想想C/C++在main函数之前和之后会做些什么? 我们看看底层的汇编代码: __start: : init stack; init heap; open stdin; open stdout; open stderr; : push argv; push argc; call _main; (调用 main) : destory heap; close stdin; close stdout; close stderr; : call __exit; 我们可以看到main函数也只是其

C语言中main函数的参数详解

main函数的定义形式  main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv.所以C99标准中规定只有以下两种定义方式是正确的: int main(void) //无参形式 int main(int argc, char *argv[]) //有参形式 当然有参形式可以进行演变,所以下面的写法也是正确的(同时变量名是可以更换的): int main(int argc, char **a

main()函数的参数

main()函数的参数: main(int argc,char *argv[],char *envp[]); argc: 表示包含文件名在内的命令行参数的个数. argv[]是指针数:里面存放的全是char *类型,最后放一个NULL字符结尾.argv[]存放的是包含文件名在内的所有命令行参数的首地址. envp[]也是一个指针数组:里面存放的是环境变量,最后以NULL结束. 环境变量:是操作系统的变量.分为用户环境变量和系统环境变量,环境变量相当于给系统或用户设置一些变量.例如:Path变量指

C 中 main 函数的参数

      看到不同的人写出的 C 或者 C++ 程序时,可能会出现不一样的 main 函数的定义,下面的几种定义方式都是对的: int main(void) int main(int argc) int main(int argc, /*const*/ char** argv) int main(int argc, /*const*/ char** argv, /*const*/ char** enviorn)       这几种方式中,第三种方式是最常用的.那么,这些参数代表着什么呢?下面,

C++ main函数的参数

C++的main函数可以没有输入参数,也可以有输入参数,而且只能有两个参数,习惯上coding如下: int main(int argc, char* argv[]) 或者 int main(int argc, char** argv) 其中,argc = argument count :表示传入main函数的数组元素个数,为int类型,而 argv = argument vector :表示传入main函数的指针数组,为char**类型.第一个数组元素argv[0]是程序名称,并且包含程序所在

(转)C++ main函数中参数argc和argv含义及用法

原博地址:https://blog.csdn.net/dcrmg/article/details/51987413 argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 简单用法示例,新建工程键代码: #include <iostr

main函数的参数(int argc,char *argv[])

一般的main函数都是不带参数的,因此main 后的括号都是空括号.实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv.因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组.加上形参说明后,main函数的函数头可以写为: main (int argc,char *argv[])

C++ main函数中参数argc和argv含义及用法

argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 第一个参数argc用来存放命令行参数的个数第二个参数argv是指针数组,它是用来存放命令行中各个参数和命令字的字符串的 具体可看:C++ main函数中参数argc和argv含义