>백엔드 개발 >C++ >GCC는 상수가 아닌 변수로 배열 크기를 선언할 수 있나요?

GCC는 상수가 아닌 변수로 배열 크기를 선언할 수 있나요?

DDD
DDD원래의
2024-10-31 22:57:29310검색

Can GCC Declare Array Sizes with Non-Constant Variables?

비상수 변수로 배열 크기 선언: GCC 확장

C에서 배열 크기 선언에는 상수 정수 값이 필요하다는 일반적인 이해에도 불구하고 ,

<code class="cpp">int ArraySize = 5;
int MyArray[ArraySize];</code>

과 같은 특정 코드가 일부 환경에서 성공적으로 컴파일되는 것으로 관찰되었습니다. 이 예외는 GCC 확장에서 발생합니다.

C 지침에 따라 배열 바인딩은 상수 표현식이어야 합니다. Bjarne Stroustrup의 The C 프로그래밍 언어에 대한 설명도 이러한 개념을 강화합니다. 그러나 GCC에서는 표준 확장으로 배열 크기 선언에 상수가 아닌 변수를 사용할 수 있습니다.

이식성을 우선시하는 경우 '-pedantic' 옵션을 사용하여 이러한 경고를 받는 것이 좋습니다. 확장. 또는 '-std=c 98'을 사용하여 오류로 처리하고 표준 준수를 보장할 수 있습니다.

위 내용은 GCC는 상수가 아닌 변수로 배열 크기를 선언할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.