int main(void)
{
    int nSize;
    scanf(\"%d\",nSize);
    int arr[nSize];
   return 0;
}

가 가능하다는 얘기고

laluna가 한건 그냥 오버플로임.


저런놈을 어디에 쓰느냐 하면


void foo(int size)
{
    int arr[size];
   dosomething();
}

이 가능하다는 얘기다.

void foo(int size)
{
    int* arr=(int)malloc(sizeof(int)*size);
   dosomething();
}

할 필요가 없다는 거지.