内容发布更新时间 : 2024/11/17 10:01:12星期一 下面是文章的全部内容请认真阅读。
周立功“程序设计与数据结构”:深度解剖动态分布内存的free()函数与
realloc()函数
周立功教授数年之心血之作《程序设计与数据结构》,书本内容公开后,在电
子行业掀起一片学习热潮。经周立功教授授权,本公众号特对本书内容进行连载,愿共勉之。第一章为程序设计基础,本文为1.9.3 free()函数和1.9.4 realloc()函数。 1.9.3 free()函数 void free(void *pointer);char *pi = malloc(5); char * pi = malloc(5); int *pi = malloc(5 * sizeof(int));
free(pi);free(pi); int
*pi
=
realloc(pi,
10*sizeof(int));
1
#pragma
once1 #include #define NewSaferFree(P) saferFree((void **) 1.9.4 realloc()函数 void *realloc(void *pointer, unsigned int size);
当调用realloc()函数时,point必须指向先前通过malloc、calloc或realloc的调用获得的内存块。size表示新分配内存的大小,以字节为单位。其作用是将pointer所指向的动态空间的大小改变为size,pointer的值不变。如果重新分配不成功,则返回NULL;如果通过malloc()已经获得了动态空间,又不想改变其大小,则可以使用realloc()重新分配。