I saw a tutorial where the instructor dynamically allocates memory for n*int size (n is not known in advance, user would give it as an input). Just out of curiosity, I have changed the code from calloc(n,sizeof(int)) to calloc(1,sizeof(int)) and I was expecting to see an error, but I did not face an error, and the code runs smoothly.
If I increment the pointer and it just continues without a problem, why should I use anything else but calloc(1,sizeof(int))?
#include <iostream>
using namespace std;
int main(){
    int n;
    printf("enter the size of array\n");
    scanf("%d",&n);
    int* A = (int*)calloc(1,sizeof(int));
    for(int i=0; i<n; i++){
        *(A+i) = i+1;
    
    }
    for(int i=0; i<n; i++){
        printf("%d\n", A[i]);
        printf("%d\n", &A[i]);
    }
    // free(A)
    return 0;
}
 
    