编程最基础的函数就是main函数,一个程序的入口就是main函数。每个初学者都知道,main函数的输入变量为void,输出变量为void或者 int,一个简单的main函数通常如下
#include <stdio.h>
int main()
{
printf(“%s”, ”Hello, World”);
return 0;
}
其实在编写main程序时候有时候也可以有输入变量。argc 和 argv就是其中两个。带参数的main函数书写如下
int main (int argc, char *argv[])
argc 和 argv 如同 printf 里面的第一个变量和后面变量的关系。第一个变量,argc指出后面变量的个数。而其他所有变量都保存在argv里面。argv是一个数组变量,存放了所有变量的地址。这样,就可以添加任意数量的变量,而同时使程序能够顺利编译。
在main函数中调用argc和argv的好处是在运行程序时候可以从外部引用其他文件或者变量。比如在linux里面运行gcc命令:
gcc -o myprog myprog.c
gcc, -o, myprog 和myprog.c就是四个变量。程序运行时
argc
4
argv[0]
gcc
argv[1]
-o
argv[2]
myprog
argv[3]
myprog.c
这样就实现了对于变量的传递。
编写下面程序,并命名为myprog
#include <stdio.h>
int main (int argc, char *argv[])
{
int count;
printf ("This program was called with \"%s\".\n",argv[0]);
if (argc > 1)
{
for (count = 1; count < argc; count++)
{
printf("argv[%d] = %s\n", count, argv[count]);
}
}
else
{
printf("The command had no other arguments.\n");
}
return 0;
}
在linux命令行中输入 ./myprog.exe a b c,此时程序运行的结果就是
argv[1] = a
argv[2] = b
argv[3] = c