C 언어, 배열의 크기를 변수로 선언할 수 있을까? 우리는 흔히 C 언어에서 배열의 크기를 선언할 때, 상수만 사용할 수 있고 변수는 사용할 수 없다고 배우고, 또한 그렇게 알고 있는 경우가 많다.
하지만 정말 그럴까? Visual Studio의 경우 상수로 계산되지 않았습니다.
변수로 인해 오류가 발생했습니다. 와같은 오류가 발생한다.
대부분의 C 언어 사용자가 사용하고 있을 마이크로소프트사의 Visual Studio에서는 위의 사진과 같은 오류가 발생한다. 아마 이 글을 읽는 대부분의 사람들이 보아왔을 것이다.
하지만 다른 컴파일러에서는 어떨까? GCC(GNU C Compiler)의 경우 배열이 변수 크기로 할당된다??
어떻게 이런 일이 가능할까? 사실 배열의 크기를 변수로 선언할 수 있는 것은 표준(C99)에서 보장한다!
그렇게 때문에 GNU 등의 컴파일러에서는 당연히 지원하고 있으며, 마이크로소프트사의 Visual Studio에서 표준을 지키지 않고 있는 것이다. 사실 같은 ...
원문 링크 : C 언어, 배열의 크기를 변수로 선언할 수 있을까?