- 论坛徽章:
- 0
|
- int g_a;
- int g_b = 0;
- int g_c = 1;
- char* g_s = "hello";
- int main(int argc, char* argv[])
- {
- int a;
- char* s = "world";
- static int s_a;
- static int s_b = 0;
- static int s_c = 1;
- return 0;
- }
复制代码 符号表如下:- 080495fc g O .data 00000004 g_c
- 08049600 g O .data 00000004 g_s
- 08049604 l O .data 00000004 s_c.1188
- 08049608 g *ABS* 00000000 __bss_start
- 08049608 g *ABS* 00000000 _edata
- 0804960c l O .bss 00000004 dtor_idx.5701
- 08049610 g O .bss 00000004 g_b
- 08049614 l O .bss 00000004 s_b.1187
- 08049618 l O .bss 00000004 s_a.1186
- 0804961c g O .bss 00000004 g_a
复制代码 可以看到g_a,g_b,s_a,s_b都在bss段,是否说明未初始化的全局变量一定会自动初始化为0,初始化为0的全局变量与未初始化是一样的,C标准有明确规定吗? |
|