从C出发 17 --- 函数定义细节剖析
因为编译器是自上而下执行代码的,当编译到 paw2 的时候不知道是什么东西,看起来像一个函数但是前面的代码没有发现它,这个时候编译器就会报错
为了防止编译器报错
应该在调用前先声明 ,注意声明的三要素
声明的作用: 让编译器先放行,不要急着报错
如果我们声明了,但没有定义,会发生什么?
编译器会报错,因为要调用的函数虽然声明了,但是在任何地方都找不到所对应的定义
对专业程序员来说警告就是错误
在 C 语言 里面对数据分类只有2 种,1. 整型 2. 浮点型
不可能存在一个值,这个值为 空 。 所以这里的 void 表示的并不是返回值的类型,表示的是demo 这个函数它没有返回值
这种写法也是错误 :
void v ; 不可能有值的类型为空
错误, demo 没有返回类型,还 return i
void 不能定义变量,非要这么写就错了
void 在 c 语言里面就表示一种空类型,这种空类型不能用来定义变量,也没有任何值是属于空类型的
没有写任何参数意味着什么?
表示在调用的时候可以接收任意多的参数
void f () //很多工作多年的工程师,认为这就是不接受参数的函数
{}