编程论坛
注册
登录
编程论坛
→
C语言论坛
c语言变量声明与使用时的内存分配机制?
Knightl8
发布于 2021-06-09 21:50, 1337 次点击
这类不懂
比如"只是定义了个数据类型 创建对象才开辟内存"
还有有关这类的知识点吗?
1 回复
#2
我善治鬼
2021-06-10 02:49
这个是编译器实现原理的问题, 编译器知道你这个变量的生命周期, 在第一次调用的时候自动分配, 在最后一次调用的时候自动释放, 你自己去研究一下
#3
自由而无用
2021-08-09 17:36
local var: eg: esp = 0x12ff9c
#define switch 0
int main(int argc, char *argv[])
{
int var;
#if switch 1
var = 10;
#endif
return 0;
}
switch0: no var address
switch1: &var = esp - 4 = 0x12ff98; after return esp += 4; free var
[此贴子已经被作者于2021-8-9 20:43编辑过]
1