原来main函数中的这两个参数是这样子
int main(int argc, char **argv)是什么意思?
int main(int argc, char **argv) 是 C 和 C++ 程序的主入口点。当你运行一个程序时,操作系统会调用这个函数来启动你的程序。这个函数的定义包含了两个参数:argc 和 argv
。
参数解释
int argc
argc(argument count)是一个整数,表示传递给程序的命令行参数的数量。它至少为 1,因为程序的名称(或路径)总是作为第一个参数传递。
例如,如果你运行程序
./myprogram arg1 arg2
#那么 argc 的值就是 3。
char **argv
argv(argument vector)是一个指向字符指针数组的指针,用于存储传递给程序的命令行参数
。
- argv[0] 通常包含程序的名称(或路径)。
- argv[1] 包含第一个命令行参数,argv[2] 包含第二个,以此类推。
- argv[argc] 是一个空指针,标志着参数列表的结束。
- 在上面的例子中,argv[0] 会是 “./myprogram”,argv[1] 会是 “arg1”,argv[2] 会是 “arg2”。
示例
#include <stdio.h>
int main(int argc, char **argv) {
printf("Number of arguments: %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("Argument %d: %s\n", i, argv[i]);
}
return 0;
}
如果你运行这个程序并传递一些参数,例如 ./myprogram arg1 arg2,输出会是:
Number of arguments: 3
Argument 0: ./myprogram
Argument 1: arg1
Argument 2: arg2
注意事项:
这两个参数允许程序在运行时接收和处理命令行参数,这对于创建灵活的命令行工具或应用程序非常有用。
这两个参数是可选的,你可以定义 int main()(不带参数)作为你的主函数,但这会限制你的程序从命令行接收参数的能力。