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 }

  运行结果为:

  

 

 

  

posted @ 2023-05-07 21:47  蜡笔小新Pointer  阅读(1097)  评论(0)    收藏  举报