realloc函数使用总结
生活随笔
收集整理的這篇文章主要介紹了
realloc函数使用总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
realloc原型是extern void *realloc(void *mem_address, unsigned int newsize);
函數說明
語法
指針名=(數據類型*)realloc(要改變內存大小的指針名,新的大小)。
新的大小可大可小(但是要注意,如果新的大小小于原內存大小,可能會導致數據丟失,慎用!)
頭文件
#include <stdlib.h> 有些編譯器需要#include <malloc.h>,在TC2.0中可以使用alloc.h頭文件
功能
先判斷當前的指針是否有足夠的連續空間,如果有,擴大mem_address指向的地址,并且將mem_address返回,如果空間不夠,先按照newsize指定的大小分配空間,將原有數據從頭到尾拷貝到新分配的內存區域,而后釋放原來mem_address所指內存區域(注意:原來指針是自動釋放,不需要使用free),同時返回新分配的內存區域的首地址。即重新分配存儲器塊的地址。
返回值
如果重新分配成功則返回指向被分配內存的指針,否則返回空指針NULL。
注意
當內存不再使用時,應使用free()函數將內存塊釋放。
相關函數
1
malloc、calloc、free、_alloca
應用舉例
總結
以上是生活随笔為你收集整理的realloc函数使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最详细的最小堆构建、插入、删除的过程图解
- 下一篇: 堆排序图片详解