C语言的函数返回值(2)

参见这篇博文mlloc分配的内存是放在堆段的,只有编程者自己手动通过free来释放内存的。所以不会因为函数执行完毕就释放其内存。

但是这种方法要求编程者谨记要自己手动释放内存,这种写法不太好,因为malloc和free不在同一个代码块中很容易忘记使用free.

方法五:也许是最好的解决方案

void func(char *result,int size)

{

strcpy(result,"test",size);

}

buffer = malloc(size);

func(buffer,size);

free(buffer);

这种方案只要malloc和free的使用在一个代码块中那么内存管理就显得轻松了。

四:总结

C语言真的很简单,简单到什么都要自己做。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8110af61b8f72e7475f731b6fa3d42c7.html