问当我调用malloc为一个函数中的局部指针分配内存时,我是否必须显式地free它?
答是的。请记住,指针与其指向的内容是不同的。局部变量 [脚注] 在函数返回时会被释放,但对于指针变量而言,这意味着指针本身被释放,而不是它所指向的内存。使用malloc分配的内存将一直存在,直到你显式地释放它。(如果一块malloc分配的内存的唯一指针是一个局部指针,并且该指针消失了,那么就没有办法释放那块内存了。)通常,对于每一次调用malloc,都应该有一个相应的调用free.
由 托管