理解函数声明

2017-03-04  本文已影响2人  今有所思

问题:如何调用首地址为0的子程序?

答案:((void ())0)();

理解此声明的关键在于明白,任何一个声明只要把标识符去掉,便转化为相应的类型转化符。例如:

float (*h)(); // 声明一个返回类型为浮点型的函数指针

那么,相应的类型转化符:

(float (*)())a; // 强制类型转化,将a转化为上述的指针类型

有了这个基础,不难理解答案中的语句含义。

上一篇 下一篇

猜你喜欢

热点阅读