将内存分配给函数时.例如:
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?
我相信它是在堆栈中调用函数(运行时)时分配的.当函数退出时释放,是吗?如果有人能够更好地解释它会很棒.
这个问题看起来很相似但不完全!
我知道在您的硬盘驱动器上,如果删除文件,数据不会(立即)消失.数据仍然存在,直到被覆盖.我想知道在记忆中是否存在类似的概念.假设我为一个字符串分配了256个字节,那个字符串在我free()被覆盖之后仍然在内存中浮动?