一、重新认识C语言
1.1重新认识main函数
#include <stdio.h>
int main(int argc, char *argv[])
{
return 0;
}
大家都知道,C语言中编译器都是识别main函数为所有函数的入口。而对于上面这段最基础,最常见的代码,很多人可能都不太清楚main函数中为何要传入这样的两个参数。这两个参数具体什么含义呢?(最早先的main函数可能会定义为void类型,现在都不提倡使用void类型,一般都默认使用Int类型)。
1.1.1main函数中两个入参含义
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
printf("The value of argc is %d \n", argc);
for(i=0; i< argc; i++)
{
printf("The value of argv is %s\n", argv[i]);
}
return 0;
}
首先编译我们编写的main.c文件,gcc main.c -o main.out
然后我们执行main.out时,可以附带一些参数。比如 ./main.out -l -h
root@Linux:Clanguage# ./main.out -l -h
The value of argc is 3
The value of argv is ./main.out
The value of argv is -l
The value of argv is -h
argc:argument count //表示的是执行main.out程序时,参数的个数
argv:argment vector //表示的是执行main.out程序时,参数的内容
1.1.2main函数中return返回值得含义
有些人可能不明白,为什么现在的C语言中要求我们写main函数时,需要指定返回值(以前的定义为void类型)。其实本质是,为了表明程序是否正确运行。
我们在编译后,执行main.out文件后,其实有生成一些影藏文件,用来表明程序是否执行成功;
在我们这里,程序执行成功,我们可以通过echo $? 来查看程序是否执行成功,若成功则返回0;
root@Linux:Clanguage# echo $?
0