C의 가변 길이 배열
C가 가변 길이 배열(VLA)을 지원하지 않는다는 일반적인 가정에도 불구하고 이를 달성하는 방법이 있습니다. 유사한 기능. 그러나 이러한 방법을 사용한다고 해서 모든 컴파일러에서 호환성이 보장되는 것은 아니라는 점에 유의하는 것이 중요합니다.
코드 설명
제공한 예제 코드는 다음과 같은 이유로 컴파일되고 작동합니다.
표준 지원
유의해야 할 사항 C 표준에서는 VLA를 지원하기 위해 컴파일러가 필요하지 않습니다. 따라서 VLA를 사용하는 코드는 다른 컴파일러나 플랫폼에서 이식 가능하지 않을 수 있습니다.
C 14 및 C 17에 대한 제안 실패
처음에는 VLA가 C 14 표준에 포함되어 있습니다. 그러나 제안은 투표 과정을 통과하지 못했고 VLA는 언어에 추가되지 않았습니다. 또한 이 제안은 C 17에 포함되지 않았습니다.
결론
VLA는 공식적으로 C 표준의 일부는 아니지만 확장으로 사용할 수 있습니다. GCC와 같은 특정 컴파일러에서. 그러나 특히 크로스 플랫폼 코드에서는 잠재적인 이식성 문제를 인식하고 VLA를 주의해서 사용하는 것이 중요합니다.
위 내용은 C에 가변 길이 배열(VLA)이 존재합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!