Why do we use pointers and malloc/calloc when we use dynamic sized arrays instead of giving the size of the array as a variable?
int *array = (int*)malloc(sizeof(int) * (n));
for (int i = 0; i < n; i++ ) array[i] = 1;
// What are their differences?
int array[n];
for (int i = 0; i < n; i++ ) array[i] = 1;