Stdlib H C

//Declaration: void *realloc(void *ptr, size_t size); 
//Parameter:   If ptr is null, realloc() allocates size bytes of memory and returns a pointer. 
               If size is zero, the memory pointed to by ptr is freed. 
    
  
  #include 
  #include 
  #include 
  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;
  }
         
        /*This is 16 chars.*/