您的位置首页百科知识

int main(){}以及void,一直搞不懂这两个做什么用,有什么含义?

int main(){}以及void,一直搞不懂这两个做什么用,有什么含义?

的有关信息介绍如下:

int main(){}以及void,一直搞不懂这两个做什么用,有什么含义?

在 C 语言里,函数前面有一个类型标识符,这表示了这个函数会返回一个什么样的结果。如果是void,那就是没有返回值,说明这个函数仅仅是做一些操作,比如输出信息,修改文件,我们无需获取它的结果。举个好理解的例子,函数sin(x),这个函数的返回值为double类型(如果你不是很清楚的话,先理解成小数吧)。那么,这个函数返回的值,就是这个正弦函数的计算结果。从这个意义上说,计算机编程里的函数和数学概念中的函数有相似的地方。

那main()函数返回什么呢?有什么意义呢?这里的return 0;据某些书上写,省略掉也是符合标准的。但是我没有去求证。这里的这个 0 是返回给操作系统,或者说是你运行这个程序使用的终端的。根据 C 和 UNIX 的规定,0 表示运行成功,没有出错。你也许会说,那就算程序出错了,它不也成功退出了吗,有用咩?

当然有用了。特别是如果你用过 Linux 或者其它类 UNIX 系统的 Shell 的话。在笔者电脑上安装的 zsh 上,如果把这个程序的返回值改为 -1,然后编译运行。结束以后的这个命令提示符会从绿色变为红色,就像编译一个 C 程序的时候出错中断了一样。它的意思是上一个程序并没有成功地得到执行,从而后面的工作(如果有的话)无法继续进行。很多时候,电脑里的程序是按一定的顺序运行的。比如说,你要先洗衣服,再晾起来,如果你没有洗好,你就不应该把它挂起来。那么我们假设洗衣服和晾衣服是两个程序来做的,洗衣服的程序如果执行失败,它返回一个 -1 或者什么值(完全可以规定每个非 0 值代表什么类型的错误),然后传递给系统或者 Shell (这个词的意思以后我也会说的),接下来晾衣服的程序启动,发现洗衣服的程序返回的值不是 0,那它会自动停止。识得唔识得噶?

如果你用过 UNIX 上的管道 (Pipeline) 或者写过 Shell 脚本哪怕是 Windows 上的批处理的话,你的了解应该会更深一层。