.real函数 realloc函数使用规则


.real函数 realloc函数使用规则

文章插图
【.real函数 realloc函数使用规则】realloc函数使用规则如下:
1、realloc失败的时候,返回NULL;
2、realloc失败的时候 , 原来的内存不改变,不会释放也不会移动;
3、假如原来的内存后面还有足够多剩余内存的话 , realloc的内存=原来的内存+剩余内存,realloc还是返回原来内存的地址; 假如原来的内存后面没有足够多剩余内存的话,realloc将申请新的内存,然后把原来的内存数据拷贝到新内存里,原来的内存将被free掉,realloc返回新内存的地址;
4、如果size为0,效果等同于free() 。这里需要注意的是只对指针本身进行释放,例如对二维指针a,对a调用realloc时只会释放一维 , 使用时谨防内存泄露;
5、传递给realloc的指针必须是先前通过malloc(), calloc(), 或realloc()分配的;
6、传递给realloc的指针可以为空,等同于malloc 。

    推荐阅读