开发平台(Platform): (Ex: Win10, Linux, ...)
linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
无吧(?
问题(Question):
各位好
我想要问一下
若在一般function宣告变量的话(e.q. int a=0;)
我知道随着function结束执行return后 变量的内存也就会被释放了
但若是在main里面宣告的话
此变量不就会一直保留着他的内存
而要等到程式结束后他才会被清空吗?
但为什么一般都没有设计清空在main里面宣告变量内存的机制呢?
但malloc却一定要强调要用free来清空呢?
malloc宣告的变量不也会随着程式结束后就被清空了吗?
为什么要强调一定要用free呢?
我知道在其他function定义的malloc一定要用free不然会有memory leak
但在main里面宣告的malloc的变量都要强调要用free
为什么int a=0;在main里面却不用释放内存呢?
先谢谢回答了