指针函数指向函数地址,而函数指针指向函数本身。(1)指针函数需要解引用才能调用,而函数指针可以直接调用。(2)这两种技术在实现回调函数、动态绑定和高级编程模式中发挥重要作用。
指针函数与函数指针
指针函数和函数指针虽然听起来相似,但它们在计算机编程中有着不同的含义和用途。
指针函数
- 指针函数是指向函数地址的指针。
- 它允许将函数地址存储在变量或数据结构中。
- 可以通过解引用指针来调用函数。
例如:
int add(int a, int b) { return a + b; } int main() { int (*func_ptr)(int, int); // 声明一个指向函数的指针 func_ptr = add; // 将 add 函数的地址赋值给指针 int result = func_ptr(2, 3); // 调用指向的函数 return 0; }
函数指针
例如:
typedef int (*func_ptr)(int, int); // 定义函数指针类型 func_ptr add = &add; // 将 add 函数的地址赋值给函数指针 int result = add(2, 3); // 直接调用函数指针
总结
指针函数指向函数地址,而函数指针指向函数本身。指针函数需要解引用才能调用,而函数指针可以直接调用。这两种技术在实现回调函数、动态绑定和高级编程模式中发挥重要作用。