main函数的参数 您所在的位置:网站首页 main里面的参数 main函数的参数

main函数的参数

#main函数的参数| 来源: 网络整理| 查看: 265

一、main函数的参数

 

 

我们经常用的

main

函数都是不带参数的。

因此

main 

后的括号都是空括号。

实际上,

main

函数可以带参数,

这个参数可以认为是

 

main

函数的形式参数。

语言规定

main

函数的参数只能有两个,

 

习惯上这两个参数写为

argc

argv

因此,

main

函数的函数头可写为:

 

main (argc,argv)

C语言还规定

argc(

第一个形

)

必须是整型变量

,argv( 

第二个形参

)

必须是指向字符串的指针数组。加上形参

说明后,

main

函数的函数头应写为:

  

 

main (argc,argv) 

int argv; 

char *argv[];

或写成:

 

main (int argc,char *argv[]) 

由于

main

函数不能被其它函数调用,

 

因此不可能在程序内部取得实际值。

那么,在何处把实参值赋予

main

函数的形参呢

实际上

,main

函数的参数值是

从操作系统命令行上获得的。当我们要运行一个可执行文件时,在

DOS

提示符

下键入文件名,再输入实际参数即可把这些实参传送到

main

的形参中去。

 

 

DOS

提示符下命令行的一般形式为:

 

C:\>

可执行文件名

 

参数

 

参数

……; 

但是应该特别注意的是,

main 

的两个形参和命令行中的参数在

 

位置上不是一一对应的。因为

,main

的形参只有二个,而命令行中的参数个数原

则上未加限制。

argc

参数表示了命令行中参数的个数

(

注意:文件名本身也算一

个参数

)

argc

的值是在输入命令行时由系统按实际参数的个数自动赋予的

。例

如有命令行为:

 

C:\>E6 24 

BASIC dbase FORTRAN

由于文件名

E6 24

本身也算

一个参数,

所以共有

4

个参数,

因此

argc

取得的值为

4

argv

参数是字符串指针

数组,其各元素值为命令行中各字符串

(

参数均按字符串处理

)

的首地址。

 

指针

数组的长度即为参数个数。

数组元素初值由系统自动赋予。

其表示如图

6.8

所示:

 

main(int argc,char *argv){ 

while(argc-->1) 

printf("%s\n",*++argv); 

本例是显示命令行中输入的参数如果上例的可执行文件名为

e24.exe

,存放在

A

驱动器的盘内。

 

因此输入的命令行为:

 

C:\>a:e24 BASIC dBASE FORTRAN  

 

则运行结果为:

 

BASIC 

dBASE 

FORTRAN 

该行共有

4

个参数,执行

main

时,

argc

的初值即为

4

argv

4

个元素分

4

个字符串的首地址。执行

while

语句,每循环一次

 

argv

值减

1

,当

argv

1

时停止循环,共循环三次,

 

因此共可输出三个参数。在

printf

函数中,由

于打印项

*++argv

是先加

1

再打印,

 

故第一次打印的是

argv[1]

所指的字符串

BASIC

。第二、

 

三次循环分别打印后二个字符串。而参数

e24

是文件名,不必

输出。

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有