Declaring an array with a non-constant size variable [duplicate]
I'm studying for my test in C and I'm reading in a C summary I downloaded from some site.
It is written that it is not allowed to write arr[i]
where i
is a variable. The only way to do it is with malloc.
int index = 5;
int a4[index];
a4[0] = 1;
a4[1] = 2;
int index2;
scanf("%d",&index2);
int a5[index2];
a5[0] = 1;
a5[1] = 2;
So what is the truth behind array declarations? thank you!
C99 allows variable length arrays to be created on the stack. Your compiler may support this feature. This features is not available in C89.
What the summary told you was true, from a certain point of view. :-)
精彩评论