问题:如何调用首地址为0的子程序?
答案:((void ())0)();
理解此声明的关键在于明白,任何一个声明只要把标识符去掉,便转化为相应的类型转化符。例如:
float (*h)(); // 声明一个返回类型为浮点型的函数指针
那么,相应的类型转化符:
(float (*)())a; // 强制类型转化,将a转化为上述的指针类型
有了这个基础,不难理解答案中的语句含义。
问题:如何调用首地址为0的子程序?
答案:((void ())0)();
理解此声明的关键在于明白,任何一个声明只要把标识符去掉,便转化为相应的类型转化符。例如:
float (*h)(); // 声明一个返回类型为浮点型的函数指针
那么,相应的类型转化符:
(float (*)())a; // 强制类型转化,将a转化为上述的指针类型
有了这个基础,不难理解答案中的语句含义。
本文标题:理解函数声明
本文链接:https://www.haomeiwen.com/subject/nygdgttx.html
网友评论