【发布时间】:2017-04-01 18:10:48
【问题描述】:
在下面这段代码中
int main(){
int i;
for(i = 0;i<4;i++){
int x = 1;
x++;
} // for close
}// main close
这里的变量x是`auto storage class,对吧?
那么,变量x会被创建吗,我的意思是内存分配发生在遇到语句并在到达循环结束并被创建时被销毁/再次为x分配内存?
我试图在循环中打印x 的地址,它每次都为x 打印相同的地址。所以,这是否意味着每次创建和销毁x 并且它使用相同的房间/内存阻止它?
如果它像这样创建和销毁,它不会影响 CPU 使用率吗? 如果是这样,有什么方法可以预防并保持良好的记忆健康?
【问题讨论】:
标签: c memory-management dynamic-memory-allocation static-memory-allocation