首页 > 编程笔记 > C语言笔记 阅读:15

C语言main函数参数的用法(附带实例)

在 C 语言程序中,main() 函数是运行所有程序的入口,由系统调用。当处于操作命令状态下,输入 main() 所在的文件名,系统即调用 main() 函数。

main() 函数一般是没有参数的。但实际上,main() 函数也可以是有参函数,其带参形式如下:
int main(int argc,char *argv[])
有两个参数,一个整型和一个指针数组。当一个 C源程序经过编译、链接后,会生成扩展名为 .exe 的可执行文件,该文件可直接在操作系统下运行。

对于 main() 函数来说,其实际参数和命令是一起给出的,也就是一个命令行包括命令名和需要传给 main() 函数的参数。命令行的一般形式如下:
命令名 参数1 参数2 … 参数n
其中,“命令名”就是可执行文件的文件名,命令名和其后参数之间须用空格分隔。参数字符串的长度是不定的,参数数量也是任意的,并不规定具体个数。

命令行与 main() 函数的参数间存在一定关系。假设命令行为:
file1 happy bright glad
这里,file1 为文件名,就是 file1.c 经编译、链接后生成的可执行文件 file1.exe,其后跟 3 个参数。

以上命令行与 main() 函数中的形式参数关系如下,参数 argc 记录了命令行中命令与参数的个数,这里包括 file1、happy、bright 和 glad,共 4 个,指针数组的大小由参数的值决定,这里为 char *argv[4],该指针数组的取值情况如下图所示。


图 1 指针数组取值

利用指针数组作 main() 函数的形参,可以向程序传送命令行参数。

【实例】输出 main() 函数的参数形式。
#include <stdio.h>
int main(int argc, char *argv[])  /* main 函数为带参函数 */
{
    printf("the list of parameter:\n");
    printf("命令名: \n");
    printf("%s\n", *argv);
    printf("参数个数: \n");
    printf("%d\n", argc);
    return 0;
}
程序运行结果为:

E:\demo.exe 1 2 3
命令名:
E:\demo.exe
参数个数:
4

相关文章