指向函数的指针

一个函数在编译时被分配一个入口地址,这个入口地址就是函数的指针

指向函数的指针就是函数的地址

int add(int a, int b) 这里的&add就是函数的地址

指针定义方式:函数返回类型int (* 变量functionpointer)();    使用方式  functionpointer=add;    (*functionpointer)(1,2);

 

假如有这种情况compareT1T2)要比较T1T2的大小,但是有没有实际的比较方式。这里就可以传入一个指向函数的指针作为参数来在compare的函数体执行比较函数。这有点象设计模式里面的策略模式,即使用不同的策略来完成一件事情。又像是创建者模式,使用同样的创建工序,不同的方法来创建不同产品。在C语言中很多时候使用这个指针来完成回调函数的调用

 

int * add(int x,int y) 返回一个指向整形变量的指针

 

原文地址:https://www.cnblogs.com/pavkoo/p/3460794.html