C语言—空类型问题

Python012

C语言—空类型问题,第1张

准确的说,函数这个名称不太准确,容易误导人。C/C++里的函数应该被叫做“子程序”,是一个独立的程序段,可以被重复调用用来完成类似的功能

这样的“子程序”很多情况下是用来提供一个值的,这就是通常的函数,这个值的类型必须明确,就是返回值的类型

但有的子程序不是用来提供一个值,可以仅仅是执行某些特定的操作,那么,定义为空类型是安全的,表示“不允许该子程序返回值”。这种子程序只能通过独立的语句调用,不能用在表达式里

之所以需要空类型,是因为,函数的默认返回值类型是int,如果在函数定义时未带返回类型说明,则默认为int;即使函数中没有return语句,编译器按照函数返回值的原理,会返回一个不确定的值。如果将这样的函数错用在表达式里,语法上没错,但会带来很难察觉的逻辑错误。

而将空类型函数用在表达式里是一个编译错误。

void

代表不返回任何值,比如说一个函数定义为int

类型的,那么它就必须return一个整形的数据,若是void就代表不返回任何东西。

希望对你有所帮助!