c traps and pitfalls reading note(1)

1. 一直知道char *p = 'a';这样写是错误的,但是为什么是错的,没想过,今天看书解惑。

    p指向一个字符,但是在c中,''引起来的一个字符代表一个整数,这样指针能不报错。o(^▽^)o

2.函数声明部分中(*(void (*)())0)(),看到这样的一个声明,我是觉得恶心,静下心来,慢慢分析呗。

    ( *( void (*pf)() )0 )(), 首先最外层(*(ppf)0)())——(这是什么鬼,强制转换,没看懂,搜了下,说是硬件地址跳到0处就是这么写的) ,ppf = ( void (*pf)() ) ,然后没什么好说的了,pf是一个函指,->一个返回void类型的函数。

原文地址:https://www.cnblogs.com/ashen/p/5645334.html