1. 函数定义
存根 (stub) 目的
真函数 : 函数具有返回值
2. 函数声明
函数原型 : function prototype
当程序调用一个无法见到原型的函数时, 编译器便认为该函数返回一个整型
3. 函数的参数
C 函数的所有参数均以"传值调用"方式进行传递
缺省参数提升 default argument promotion : char, short > int; float > double
使用函数原型的函数不会执行缺省参数提升
4. ADT和黑盒
ADT : abstract data type
5. 递归
C 通过运行时堆栈支持递归函数的实现
尾部递归很容易改为循环形式
6. 可变参数列表
#include <stdarg.h>
va_list value;
va_start( value, input);
for( i = 0; i < input; i++ )
{
va_arg( value, int);
}
va_end( value );
注:不允许一开始就访问参数列表中间的参数,允许中途中止