C常见问题之函数指针

2013-11-20 14:17:40 · 作者: · 浏览: 142

  考虑如下代码:

  [cpp]

  #include <stdio.h>

  void show(void)

  {

  printf("hello\n");

  return;

  }

  int main(void)

  {

  void (*p)(void) = show;

  (*p)();

  p();

  return 0;

  }

  执行结果如下:

  [plain]

  hello

  hello

  上述代码需要注意一下几点:

  1.函数名本身即为函数的地址

  2.用函数指针调用函数时,有无*均可

  3.由于()的优先级高于*,故(*p)中的()不可或缺