带参数的main函数和命令行参数

来源:互联网 发布:广义相对论 知乎 编辑:程序博客网 时间:2024/05/16 17:39

1.说明:
当系统调用主函数时,系统也可将参数 (命令行) 传给主函数,这个参数可以认为是 main函数的形式参数。

2.格式:
main(int argc, char *argv[ ])
规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,

(由于main函数不能被其它函数调用,那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。)

3.注意:
main 的两个形参和命令行中的参数在位置上不是一 一对应的。因为,main的形参只有二个,而命令行中的参数个数原则上未加限制。argc参数表示了命令行中参数的个数(注意:文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。

4.例子

#include <stdio.h>int main(int argc, int * argv[],int * env[]) //(参数个数,指向字符串的指针,指向环境变量的指针){    int i;    for(i =0; i < argc; i++)  //argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。    {        printf("%5s",argv[i]);    }    printf("\n");    i = 0;    while( *(env + i) != NULL)        {        printf("%5s\n",env[i]);        i++;    }       return 0;//注意 : argv[0]    是  ./filename
0 0
原创粉丝点击