C标准保证全局和静态变量(如果未初始化)始终如此0.
这是我的问题:未初始化的全局变量和静态变量将转到BSS程序中的段.所以所谓的0应该是all-bit 0.
对于积分变量,all-bit 0将被评估为0.浮点变量,如果遵循IEEE 754,也是0.0.但是对于指针,空指针不一定是all-bit 0,所以像这样的全局指针的初始化:
int* p = NULL;
Run Code Online (Sandbox Code Playgroud)
只是:做出任何改变:
int *p;
Run Code Online (Sandbox Code Playgroud)