回调函数
int func(int a){ printf("func a:%d\n",a);}
int show(int(*pfun)(int)){ pfun(10);}
int main(int argc,char*argv[])
{
show(func); //func 函数就是一个回调函数
return 0;
}
内联函数
- 概念
- 当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。这样做的好处是省去了调用的过程,加快程序运行速度
- 注意
- 内联函数使用空间代价换时间代价
- 内联函数定义一般放在头文件中
- 内联函数中的代码块尽量不超过五行
- 内联函数中,不能有循环语句,if语句或者switch语句,否则函数定义中即使有inline关键字,编译器也会把该函数作为非内联函数处理。
- 内联函数要在函数被调用之前声明。关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。而且内联函数在声明阶段也要加上inline关键字
inline int add(int a,int); //源文件中也需要外部声明
// extern inline int add();//
inline int add(){
return a + b;
静态函数
- 由static修饰的函数
- 作用
- 防止一个工程中不同文件因函数名冲突,静态函数仅限本文件使用
递归函数
Comments NOTHING