01-C语言入门基础(C语言中的main函数)
一.C语言中的main函数
main函数是一个C程序中必须的,main是主要的意思,当一个C程序开始执行时,会首先进入main函数开始执行,关于main函数有这样一些小细节
1.1 如果我们直接写main(),那么这个main函数的默认返回值是int类型,就像下面这样子:
1 main() 2 { 3 //Some Codes There 4 }
当我们编译这段代码时,会有警告,大概意思就是说,你这个main函数没有明确返回类型,默认为int的返回类型

因此我们应该避免上面的这种写法,如果main不需要返回值时,请写成下面这样
1 void main() 2 { 3 //Some Codes There 4 }
如果需要返回值,那么一般写为返回类型为int类型
1 int main() 2 { 3 //Some Codes There 4 }
1.2 main函数是可以带参数的,一个是argc,一个是argv
argc:实际上就是argument count:参数个数的意思
argv:实际上就是argument value:参数值的意思
它的原型是这样子的
1 int main(int argc,char*argv[]) 2 { 3 //Some Codes There 4 }
关于main函数参数有这样几个注意事项:
1.argc至少是大于1的
2.argv实际上是一个二维数组(也就是字符串数组,因为我们传入命令行参数时,往往传入的是字符串,而且可以有多个字符串,这些字符串之间用空格隔开)
比如我有一个程序叫hello,我想对其传入4个参数,那么就是:
hello arg1 arg2 arg3 arg4
那么实际上argc的值就是5(不要认为是4,因为hello本身也是一个命令行参数)
那么:
argv[0]就是hello
argv[1]就是arg1
argv[2]就是arg2
argv[3]就是arg3
argv[4]就是arg4
我们这里举一个例子:
1 int printf(const char*,...); 2 int main(int argc,char*argv[]) 3 { 4 printf("argc=%d\n",argc); 5 int i = 0; 6 for(i = 0;i<argc;++i) 7 { 8 printf("argv[%d]:%s\n",i,argv[i]); 9 } 10 return 0; 11 }
运行结果是:

实际上我们这里使用的main函数一般就是argc和argv两个参数,但还可以有第三个参数,它也是一个字符串数组,只不过他里面存储的
是当前程序运行时的环境变量
int main(int argc,char*argv[],char*envp[])
{
//Some Codes There
}
我们这里再做一个测试,单独输出当前程序运行的环境变量
1 #include<stdlib.h> 2 int printf(const char*,...); 3 int main(int argc,char*argv[],char*envp[]) 4 { 5 while(envp!=NULL) 6 { 7 printf("%s\n",*envp); 8 envp++; 9 } 10 return 0; 11 }
运行结果为:


浙公网安备 33010602011771号