C表达式((void (*)(void))0();

来源:互联网 发布:淘宝退款成功后收到货 编辑:程序博客网 时间:2024/05/22 15:42

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*/);