有时内存地址为0x0的数据非常有价值 - 以x86实模式IVT作为一个更为人熟知的例子:它从0x0开始并包含指向中断处理程序的指针:0x00处的双字是指向零错误处理程序的指针.
但是,C11语言标准禁止解除引用空指针[WG14 N1570 6.5.3.2],它们被定义为用0初始化的指针或用空指针[WG14 N1570 6.3.2.3] 初始化的指针,有效地禁止了第一个字节.
人们如何在需要时实际使用0x0?
c memory pointers dereference
c ×1
dereference ×1
memory ×1
pointers ×1