C语言问题?谢谢啊

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:33:31
设T是C语言中的任一类型,说明在函数中使用Tt;和使用T*PT=(T*)malloc(sizeof(T));这两种方法在创建变量时,结果和使用情形的差异性。

第一种变量存储在栈中,具有自动生命周期,第二种变量存储在堆中,需要程序员释放,否则直到程序结束才可能自动回收。

后一种,如果程序结束,没有释放,是不会自动回收的。这就是内存泄漏BUG.

malloc 和 free 一定要成对出现在程序中。

堆\栈\自由分配内存\你看看啥关系吧

记住malloc与free成对出现就行了,在程序种就避免了很多麻烦!