C Tutorial/stdlib.h/realloc

Материал из C\C++ эксперт
Перейти к: навигация, поиск

realloc

Item Value Header file stdlib.h Declaration void *realloc(void *ptr, size_t size); Function reallocate memory Parameter If ptr is null, realloc() simply allocates size bytes of memory and returns a pointer. If size is zero, the memory pointed to by ptr is freed.


#include <stdlib.h>
  #include <stdio.h>
  #include <string.h>
  int main(void)
  {
    char *p;
    p = malloc(17);
    if(!p) {
      printf("Allocation Error\n");
      exit(1);
    }
    strcpy(p, "This is 16 chars");
    p = realloc(p, 18);
    if(!p) {
      printf("Allocation Error\n");
      exit(1);
    }
    strcat(p, ".");
    printf(p);
    free(p);
    return 0;
  }