惧留孙网

juliusun.com

在线教程 > C语言教程 > main函数简介

main函数简介

第 28/50 节 冥河C语言教程


main函数同样属于函数,符合函数定义语法。特殊之处在于,它是C语言入口函数,有一些特殊规定。

main函数是C语言的入口函数。即无论有多少函数,C语言代码从main函数开始执行。main函数有且必须只有一个。

程序执行后,被称为进程,程序退出,进程结束。

根本严格的C语言语法,main函数返回值是int类型。部分编译器在把main函数写成void类型时,仍然能编译成功,但是这不代表C标准规定main是void类型,可能是考虑到了初学者。

main函数的返回值,通常做作用进程的返回值,也就是程序退出后程序的返回值。根据习惯,一般,如果程序成功执行,返回0。不成功执行,返回非0,一般也就是错误代码。不过这并不是规定。如果你有多个程序配合工作,需要获取其它程序退出后的工作执行情况,可以自用这个值。如果不需要,你可以直接返回0。如果int类型main函数没有return语句,多数编译器自动在函数结尾补上return 0;。

main函数参数有两个,第一个是int类型,第二个是char *类型数组,可以写成char *[]类型。不过如果如果不使用参数,把函数参数写成空,绝大多数编译器都能编译成功。

main函数的参数,是进程的命令行参数。命令行参数可以有多个,第一个int类型的参数,假设我们将其命名为argc。argc表示命令行参数的个数。

第二个参数是char*类型数组。假设我们将第二个参数命名为argv。argv每个元素都是字符串指针。有argc个元素。命令行用来启动程序,就是创建进程。命令行参数用一个或多个空格分隔。如果参数中带有空格,把参数用双引号引起来。windows可以在命令行cmd.exe里输入命令。cmd.exe在开始菜单-所有程序-附件-命令提示符中可以找到。

命令行第一个参数指定程序名,在windows里,如果是exe后缀,可以省略。后面用空格分隔参数。所以命令行第一个参数都是程序名。

Pic

我们写如下代码,可以将命令行全部输出:


  1. #include<stdio.h>
  2. int main(int argc,char *argv[] )
  3. {
  4.   for(int i = 0;i < argc;++i)
  5.   {
  6.     printf("第%d个命令行参数:%s\n",i+1, argv[ i ] );//输出命令行参数
  7.   }
  8.   return 0;
  9. }

我们的程序名叫test.exe。.exe后缀名在windows里可以省略,直接写test就可以了。注意,如果路径名还有空格,请用双引号引起路径。本例以程序在C盘根目录为例:

Pic

注意:可以使用cd命令切换当前目录,也可以直接在命令行里输入路径全名。

作者:冥河 QQ:3304576112
交流QQ群:554701039 C语言讲课群
本教程内容由本站保留版权,请勿复制传播
抖音
©2015-2024 惧留孙网 juliusun.com

京ICP备15039193号-1

首页 教程 下载 文章 聊天 我的