1. 全局变量、局部变量、静态变量分别存在哪里,如果不初始化默认是什么值答案:全局变量和静态变量如果是已初始化的,一般放在数据段;如果未显式初始化,通常放在 BSS 段。局部变量一般放在栈上,函数调用结束后生命周期就结束。static 修饰的局部变量,存储位置不在栈上,而是在静态存储区,只是作用域仍然限定在函数内部。默认初始化这块要分清楚:全局变量、静态变量、静态局部变量如果没有显式初始化,默认会被置为 0;普通局部变量如果没初始化,值是不确定的,直接用属于未定义行为。代码: #include <stdio.h> int g1; // BSS,默认 0 int g2 = 10; /...