动态内存 - 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