相關(guān)函數(shù):malloc, calloc, free, brk
表頭文件:#Include <stdlib.h>
函數(shù)定義:void *realloc(void??*ptr, size_t size)
函數(shù)說明:參數(shù)ptr為指向先前由malloc()、calloc()、realloc()所返回的內(nèi)存指針, 而參數(shù)size()為新配置的內(nèi)存大小 ,其值可比原內(nèi)存大或小。 若小,內(nèi)存內(nèi)容并不會(huì)改變,且返回指針為原來內(nèi)存啟起地址;但若大,則realloc()不一定會(huì)返回原先的指針,原先的內(nèi)容雖不會(huì)改變,但新多出的內(nèi)存則未設(shè)置初值。若是參數(shù)ptr指針為NULL,則調(diào)用相當(dāng)于malloc(size);若參數(shù)size為0, 此調(diào)用相當(dāng)于free(ptr)
返回值??:成功返回指針, 失敗返回NULL
范例:
#Include <stdlib.h>
main()
{
??????char *ptr1=malloc(10);
??????char *ptr2;
??????
??????memset(ptr1, 'A', 10);
??????*(ptr1+10)='\0';
?????
??????printf("before realloc: ptr= %x [%s]\n", ptr1, ptr1);
??????ptr2=realloc(ptr1, 40960);
??????printf("after realloc: ptr= %x [%s]\n", ptr2, ptr2);
}