作为程序员的我们经常被要求写函数的时候要有返回值,并且返回值通常指示函数调用是否成功的二值变量,以至于时间长了都记不清函数都能返回什么类型的数据了。在《C程序设计语言(K&R)》A.10.1节中是这样说的,函数可返回算数类型(也就是一个表达式),结构,联合,指针或void类型的值,但是不能返回函数或数组类型。
注意,函数是可以返回结构体的,并且是函数内部定义的结构体局部变量。那么为什么可以返回结构体,却不能返回数组类型呢?答案是结构体被编译器当作“值”返回。
作为程序员的我们经常被要求写函数的时候要有返回值,并且返回值通常指示函数调用是否成功的二值变量,以至于时间长了都记不清函数都能返回什么类型的数据了。在《C程序设计语言(K&R)》A.10.1节中是这样说的,函数可返回算数类型(也就是一个表达式),结构,联合,指针或void类型的值,但是不能返回函数或数组类型。
注意,函数是可以返回结构体的,并且是函数内部定义的结构体局部变量。那么为什么可以返回结构体,却不能返回数组类型呢?答案是结构体被编译器当作“值”返回。