There are two ways to allocate memory to an array, of which the size is unknown at the beginning. The most common way is using malloc
like this
int * array;
... // when we know the size
array = malloc(size*sizeof(int));
But it's valid too in C99 to define the array after we know the size.
... // when we know the size
int array[size];
Are they absolutely the same?