C表达式((void (*)(void))0();
通过一步步来讲解:
没有参数和不返回值
void f(void)
定义一个指针没有参数和返回值
void (*p)(void)
定义一个仅有类型的指针
(void(*))(void)
定义一个强转类型(类型定义在括号内,跟着一个值)
(void (*)(void))0
到目前为止我们定义了一个由0强转成一个指向函数且返回值。
这个转换时一个指针到函数的类型。
(your expression here)(arguments to the function)
以0位值,转换成指针指向函数(没有参数,没有返回值),之后在调用。
((void (*)(void))0)(/*no args*/);