要在函数里返回内存有两种办法
一种是指针的指针 **fp ,用这个指针指向一个需要分配内存的值。
另外一种方法更简单,你在函数里创造一个指针然后 return他就可以了。
下面讲讲第一种方法的实现:
int fun(char **fp, int b)
{
*fp = (char*)malloc(100);
memset(*fp, 0, 100);
return 0;
}
调用的时候。
char *fp = NULL;
int i;
fun(&fp, i ) ;
用完释放 free(fp);
这样就OK了。