相关疑难解决方法(0)

将内存分配给函数(定义或调用)时

将内存分配给函数时.例如:

int doubleMe(int smthng){ 
int dbl = 2*smthng; //line 2
return dbl; 
} 

void main(){ 
int var; 
printf("The double of var is: %d",doubleMe(var)); //line 8
}
Run Code Online (Sandbox Code Playgroud)

何时将内存分配给变量dbl

  • 何时定义(第2行)(编译时)
  • 或调用函数时(第8行)(运行时)

我相信它是在堆栈中调用函数(运行时)时分配的.当函数退出时释放,是吗?如果有人能够更好地解释它会很棒.

这个问题看起来很相似但不完全!

c c++

8
推荐指数
1
解决办法
4221
查看次数

free()之后内存会发生什么?

我知道在您的硬盘驱动器上,如果删除文件,数据不会(立即)消失.数据仍然存在,直到被覆盖.我想知道在记忆中是否存在类似的概念.假设我为一个字符串分配了256个字节,那个字符串在我free()被覆盖之后仍然在内存中浮动?

c memory windows

6
推荐指数
2
解决办法
2443
查看次数

标签 统计

c ×2

c++ ×1

memory ×1

windows ×1