一个函数在编译时被分配一个入口地址,这个入口地址就是函数的指针
指向函数的指针就是函数的地址
int add(int a, int b) 这里的&add就是函数的地址
指针定义方式:函数返回类型int (* 变量functionpointer)(); 使用方式 functionpointer=add; (*functionpointer)(1,2);
假如有这种情况compare(T1,T2)要比较T1和T2的大小,但是有没有实际的比较方式。这里就可以传入一个指向函数的指针作为参数来在compare的函数体执行比较函数。这有点象设计模式里面的策略模式,即使用不同的策略来完成一件事情。又像是创建者模式,使用同样的创建工序,不同的方法来创建不同产品。在C语言中很多时候使用这个指针来完成回调函数的调用
int * add(int x,int y) 返回一个指向整形变量的指针