안녕하세요! 저는 고려대학교 편입을 준비하고 있는 학생입니다.
다름이 아니라 C99의 배열에 대해 공부하고 있던 와중 궁금한 점이 생겨 질문 드립니다.
1. 초기값 리스트의 크기가 배열의 크기보다 큰 경우 에러가 발생한다.
2. 가변길이배열(VLA)라도 sizeof연산은 컴파일 시점에 수행된다.
이 두 선지중 1번이 틀리고 2번이 맞다고 하는데요,
강의하시는 분 설명은 이렇습니다.
C99 의 IDE에서는 초기값 리스트의 크기가 배열의 크기보다 큰 경우에도 에러를 내어주지 않는다고 하고,
Visual Studio에서 에러가 나는 이유는 컴파일러 자체가 걸러주기 때문이라고 설명하십니다.
2번째 선지가 맞는 이유는 그냥 특이사항으로 외우라고 하시는데, 외국 글이나 다른 인터넷에 찾아보아도
sizeof 연산은 runtime에 수행된다고 나와있는 것 같습니다..
정확한 정보인지 모르겠어서 질문드립니다.
참고로 강의를 찍으시는 분은 현직 개발자십니다..