分类: C/C++
2014-10-13 22:48:19
C中的函数有自己特定的类型,函数的类型有返回值、参数类型、参数个数共同决定
例如:int add(int i, int j)的类型为int(int, int)
C中通过typedef为函数类型重命名typedef type name(parameter list)
例如:typedef int f(int, int); typedef void p(int);
函数指针用于指向一个函数,函数名是执行函数体的入口地址
可通过函数类型定义函数指针:FuncType* pointer;
也可直接定义:type(*pointer)(parameter list); 其中pointer为函数指针变量名,type为指向函数返回值类型,parameter list 为指向函数的参数类型列表。
回调函数是利用函数指针实现的一种调用机制。
回调机制原理:
调用者不知道具体事情发生的时候需要调用的具体函数;被调用者不知道何时被调用只知道调用后需要完成的任务;当具体事件发生时,调用者通过函数指针调用具体函数;回调机制将调用者和被调用者分开两者互不依赖。
指针阅读技巧:
——右左法则
1. 从最里层的圆括号中未定义的标示符看起
2. 首先往右看,再往左看
3. 当遇到圆括号或者方括号是可以确定部分类型并调转方向
4. 重复2,3步骤直到阅读结束。
怎样阅读复杂指针?