全局变量初始值是0怎么不算赋初值吗?
使用代码 int iGlobal ; // _BSS
int iGlobal1=0x0 ; // 全局初始化区
int iGlobal2=0x2 ;
int main()
{
printf("iGlobal=0x%x,0x%p\n",
iGlobal,&iGlobal);
printf("iGlobal1=0x%x,0x%p\n",
iGlobal1,&iGlobal1);
printf("iGlobal2=0x%x,0x%p\n",
iGlobal2,&iGlobal2);
return 0;
} 做测试发现,变量iGlobal1存在了 bss段中,而不是存放在data段中,这是因为赋初值为 0 时被VC编译器优化了成未初始化变量 还是这个变量本身就应该被看出未初始化呢 ?
[[it] 本帖最后由 vfdff 于 2008-11-3 02:03 编辑 [/it]]