I wrote a simple code where I am creating array without a fixed size. I tried compiling the code in gcc and it is working fine. Please explain why this is working array size should be supposed to be known at compile time.
Here's the code I have used.
void f(int k)
{
int a[k];
.....//some operation
}
int main()
{
int i = 10;
f(10);
return 0;
}
This feature is known as
VLAor variable length array. This is not supported in all C standards. In recent C standards likeC11andC99, it is supported, but not in older C Standards as 'C89'.If you're using
gcc, please have a look at the compiler documentation regarding this.