typedef
1.作用:给已经存在的类型起一个新的名称
2.适用场合
1>基本数据类型
2>指针
3>结构体
4>枚举
5>指向函数的指针
如果想要重新定义指向函数的指针如下图所写,并且 下图中MyPoint为新类型的名称.
extern :外部函数
1.默认情况下所有函数都是外部函数,
2.外部函数不允许重名
例如
extern void test() //
(表示完整的定义了一个外部函数)
{
printf("哈哈");
}
static :内部函数
1.允许不同文件中有同名的内部函数.
static 修饰局部变量:
1>
延长局部变量的生命周期:程序结束的时候,局部变量才会被销毁.
2>并没有改变局部变量的作用域.
3>所有的test函数都共享着一个变量b
static 修饰局部变量的使用场合:
1.如果某个函数的调用频率特别高.
2.这个函数内部的某个变量值是固定不变的. (这样可以极大提高程序的效率)
递归 :函数自己调用自己
递归的两个条件
1.函数自己调用自己
2.必须有个明确的返回值.