#include <stdio.h>
int add(int x, int y) { printf("enter add\n");
return x + y; } /* *定义一个指针变量 *该变量中存储地址 *存储函数的地址 *存储返回值是int ,参数是int,int类型函数的地址 * */ int (*pfunc)(int, int); //定义函数指针
/* *PFUNC 是一种数据类型的别名 * 返回值为int ,参数为int,int类型函数指针别名 * */ typedef int (*PFUNC)(int, int); int main(void) { int res = 0; pfunc = add; printf("1+2=%d\n", pfunc(1,2)); /*定义指针变量*/ PFUNC test; test = add; printf("10+20=%d\n", test(10,20));
PFUNC test1 = (PFUNC)0x0000000000400544; printf("100+200=%d\n", test1(100,200));
res = (*((int (*)(int,int))0x0000000000400544))(1000,2000); printf("1k+2k=%d\n", res);
return 0; }
|