# 动态内存 - realloc

原型：extern void *realloc(void *mem_address, unsigned int newsize);

用法：#include <alloc.h>

功能：改变mem_address所指内存区域的大小为newsize长度。

说明：如果重新分配成功则返回指向被分配内存的指针，否则返回空指针NULL。

当内存不再使用时，应使用free()函数将内存块释放。 举例：

          // realloc.c

          #include <syslib.h>
          #include <alloc.h>

          main()
          {
            char *p;

            clrscr();        // clear screen

            p=(char *)malloc(100);
            if(p)
              printf("Memory Allocated at: %x",p);
            else
              printf("Not Enough Memory!\n");

            getchar();

            p=(char *)realloc(p,256);
            if(p)
              printf("Memory Reallocated at: %x",p);
            else
              printf("Not Enough Memory!\n");

            free(p);

            getchar();
            return 0;
          }

相关函数：calloc,free,malloc