realloc()函数realloc
语法:
1 2 |
?? #include <stdlib.h> ?? void *realloc( void *ptr, size_t size ); |
功能: 函数将ptr 对象的储存空间改变为给定的大小size。 参数size可以是任意大小,大于或小于原尺寸都可以。 返回值是指向新空间的指针,如果错误发生返回NULL。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include<stdio.h> #include<stdlib.h> int main() { inti; int*pn=(int*)malloc(5*sizeof(int)); if (!pn) { ???? printf("malloc fail\n"); ???? exit(-1); } printf("malloc%p\n",pn); for(i=0;i<5;i++) pn[i]=i; pn=(int*)realloc(pn,10*sizeof(int)); if (!pn) { ???? printf("realloc fail\n"); ???? exit(-1); } printf("realloc%p\n",pn); for(i=5;i<10;i++) pn[i]=i; for(i=0;i<10;i++) printf("%3d",pn[i]); free(pn); pn = NULL; return 0; } |