首页 > 代码库 > C/C++ 指针函数 与 函数指针

C/C++ 指针函数 与 函数指针

指针函数是个函数,是返回指针类型到函数。

函数指针是个指针,是指向函数地址到指针。

区分两者的关键点是,函数名是否用*和括号“包围”起来。

 1 #include <stdio.h> 2 int *create_node(int);  //指针函数声明 3 int *(*fun)(int);   //函数指针声明, 指向返回int*且有一个int参数的函数. 4  5 //定义一个指针函数(返回值是指针的函数) 6 int *create_node(int val){ 7     int *a = new int; 8     *a = val; 9     return a;10 }11 12 int main (){ 13     //通过函数名称调用函数, 这个函数名称就是函数的指针14     //函数名称指向就是函数到地址15     int *a = create_node(4);16     printf("a_val : %d\n", *a);17     delete a;18 19     //函数指针是个指针变量20     fun = create_node;21     int *b = fun(5);22     printf("b_val : %d\n", *b);23     delete b;24 25     return 0;   26 }

 

 就简单说明到这里吧, 看代码注释。^_^

C/C++ 指针函数 与 函数指针