I am unsure if I am using the realloc function correctly.
In my program, I first ask the user for the size of the array and allocate memory for it using malloc, then initialise it with some values.
Then I want to make the same array twice it's size, using realloc. Here is my code. Am I using realloc to resize int *A correctly?
#include <stdio.h>
#include <stdlib.h>
int main(){
  int n;
  printf("Enter size of array\n");
  scanf("%d", &n);
  int *A = (int*)malloc(n*sizeof(int));     //dynamically allocated array
  for (int i = 0; i < n; i++)               //assign values to allocated memory
  { 
    A[i] = i + 1;
  }
  A = (int*)realloc(A, 2*sizeof(int));     //make the array twice the size
  free(A);
}
 
     
     
    