C语言入门 – 部分特殊函数

LongGuan_admin 发布于 2026-01-19 75 次阅读


回调函数

  • 回调函数是一个被作为参数传递的函数
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修饰的函数
  • 作用
    • 防止一个工程中不同文件因函数名冲突,静态函数仅限本文件使用

递归函数

  • 概念
    • 函数调用函数自身(大问题拆解
  • 注意
    • 高资源占用(栈)
  • 优化
    • 数组
    • 尾递归
此作者没有提供个人介绍。
最后更新于 2026-01-20