📅  最后修改于: 2023-12-03 15:14:25.212000             🧑  作者: Mango
在C语言中,我们可以通过命令行参数向程序传递参数。这在很多场景都非常有用,比如我们想要运行某个可执行文件时,在命令行中指定参数来改变程序的行为,或者在调试程序时可以动态地向程序传递参数等。
命令行参数一般以以下格式传递:
$ ./program arg1 arg2 arg3 ...
其中,program
是可执行程序的名称,arg1
、arg2
、arg3
等则是传递给程序的参数。
在C语言中,我们可以通过main
函数的参数来获取这些传递的参数。main
函数的标准定义如下:
int main(int argc, char *argv[])
其中,argc
表示命令行参数的个数,argv
则是一个指向参数字符串的指针数组。第一个参数argv[0]
表示程序本身的名称,第二个参数argv[1]
表示第一个传递的参数,依此类推。
下面是一个简单的示例程序,可以接收多个参数,并将它们打印出来:
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
printf("argc = %d\n", argc);
for (i = 0; i < argc; i++)
{
printf("argv[%d] = %s\n", i, argv[i]);
}
return 0;
}
运行该程序时,可以输入多个参数,如下所示:
$ ./program hello world 123
输出结果如下:
argc = 4
argv[0] = ./program
argv[1] = hello
argv[2] = world
argv[3] = 123
通过命令行参数,我们可以在程序运行时动态地传递参数,方便地改变程序的行为。使用命令行参数也是C程序员必须要掌握的一项技能。