VLA는 가변 길이 배열이다. 즉, 변수로 런타임중에 배열의 길이를 정할 수 있다는 말이다. 그 말은 즉, 사용자에게 Input을 받고 그 변수로 배열을 지정할 수도 있다는 말이다. 통상 우리가 알고 있는 배열은 상수로 길이가 지정되어 있고 컴파일중에 메모리 stack 영역에 할당이 된다고 알고 있다. int arr[5]; //상수로 지정한 배열arr int i; scanf("%d", &i); int arr2[i]; //VLA C99부터 지원되는 VLA는 위의 코드처럼 사용자로부터 input받은 변수로도 배열을 지정할 수 있다. 기존에는 이러한 것이 불가하여 malloc, calloc과 같은 동적메모리 할당을 사용했는데 그럴 필요가 없다니... 너무 좋지 않은가? 그러나 꼭 그렇지만은 않다. VLA의 특..