静态局部变量在哪里

Ang*_*gus 11 c static

静态局部变量存储在内存中的哪个位置?只能在声明它们的函数内访问局部变量.

全局静态变量进入.data段.

如果静态全局变量和静态局部变量的名称相同,编译器如何区分它们?

das*_*ght 11

静态变量与全局变量进入同一段.两者之间唯一不同的是编译器"隐藏"链接器中的所有静态变量:只暴露外部(全局)变量的名称.这就是编译器允许具有相同名称的静态变量存在于不同翻译单元中的方式.静态变量的名称在编译阶段仍然是已知的,但随后它们的数据将.data匿名放入段中.