请问下面的代码会造成内存泄露吗?
我在函数f1中用malloc申请了内存,并且把这个内存的指针作为f1函数的返回值传递给了main函数下的str2. 这片内存在main函数下才释放。这样会导致内存泄露吗?
#include <stdlib.h>
char * f1()
{
char * str1 = malloc(10);
//do some work with str here.
...........
return(str1);
}
int main(void)
{
char * str2;
str2 = f1();
//do some work with str2 here
............
free(str2);
}不会
能详细说说哪里不会吗?否则我没法帮你。。。
如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!