重新分配内存问题。

来源:百度知道 编辑:UC知道 时间:2024/06/30 04:33:51
“realloc()可以重用前面通过malloc()或calloc()分配的内存”,这句话怎么理解?
是在使用free()函数之后重新使用?
使用free()函数释放内存后,那么这个内存可能就会被其他程序占用啊?
然后重用这块内存,。。冲突了....不明白。。。
但书上的程序是:
long *A = NULL;
size_t count = 0;
...
...
if(...)
{free(A);
break;}
...
...
A = (long *) realloc(A, sizeof(long *count);
...
...
...

realloc()
的原型是:
extern void *realloc(void *mem_address, unsigned int newsize);
用法是
p=malloc(100);//比如用malloc开辟100单元的空间
然后
p=realloc(p,256);//在原来malloc的基础上,首地址不变,仅仅扩充空间大小
中间不必用free释放

补充:你直接去百度上看一下吧,有详细解释的