return 语句
普通执行流到底函数定义末尾就会自动返回函数被调用的地方,return准许从函数体任一位置返回
函数原型
提供编译器检查后续函数调用时关于函数参数及其返回值的信息,需要添加分号
我记得C语言是不可以在一个函数内调用另外一个函数的,因为他的编译器是没有静态链的
函数的缺省认定
当程序调用一个无法见到原型的函数是,编译器会认为该函数返回一个整型值
重点是 返回值不是整型的函数具有原型非常重要
7.3 函数的参数
传递给函数的标量参数是传值调用,意味着函数调用时候使用的传过来参数的拷贝而非参数本身,编译的时候就将那个值使用一个函数送到相应堆栈里的
传递给函数的数组参数行为上就像他们通过传址调用的一样 其实这里我不是很清楚传址调用的方法
数组作为参数,声明时是不需要指定他的长度的,因为函数不会为数组元素分配内存,但是函数如果需要这个大小,需要显式传递
7.5 递归
递归函数调用是需要将一些涉及运行时开销值必须保存到堆栈中
7.6可变参数列表(觉得这部分好像很少用,不仔细写了,以后需要直接看书上)
可以通过stdarg宏来实现,宏定义与stdarg.h头文件,
无法判断实际存在的参数数量
无法判断每个参数类型