vs2015里
void func()
{
printf(
"hello world\n");
}
typedef void(*FUNC_TYPE)();
FUNC_TYPE p = &func;
(*p)();
typedef void(*FUNC_TYPE)();
FUNC_TYPE p = func;
(*p)();
typedef void(*FUNC_TYPE)();
FUNC_TYPE p = &func;
p();
typedef void(*FUNC_TYPE)();
FUNC_TYPE p = func;
p();
typedef void(FUNC_TYPE)();
FUNC_TYPE p = &func;
(*p)();
typedef void(FUNC_TYPE)();
FUNC_TYPE p = func;
(*p)();
typedef void(FUNC_TYPE)();
FUNC_TYPE p = &func;
p();
typedef void(FUNC_TYPE)();
FUNC_TYPE p = func;
p();
这几个形式都是对的,理解为编译器的优化。。。。
函数指针存在的意义我觉得是为了降低函数之间的耦合,增加函数的内聚