realloc - Reallocates the memory spaces in C

Reallocating the memory means we are trying to change the values from one address to another which computer was specified by computer
  #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;
  }