>백엔드 개발 >C++ >C에서는 유연한 배열 멤버가 허용됩니까?

C에서는 유연한 배열 멤버가 허용됩니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-13 20:51:17747검색

Are Flexible Array Members Allowed in C  ?

C에서 유연한 배열 멤버가 유효합니까?

C99에서는 구조체 내에서 유연한 멤버 배열을 선언하여 배열 크기를 지정되지 않음. 그러나 C에서는 동일한 구문을 적용할 수 없습니다. clang으로 시도했을 때 컴파일에 실패하여 [0]을 포함하도록 선언을 수정해야 합니다.

C의 유효성

C 표준에 따르면 유연한 멤버 배열에 대한 명시적인 참조는 없습니다. 이는 C에서 유효하지 않음을 의미합니다.

올바른 선언

[0]은 전통적으로 배열에 대한 잘못된 선언으로 간주되지만 유효한 선언인 것으로 보입니다. 유연한 멤버 배열의 경우. 표준 배열 동작과의 이러한 차이는 C의 유연한 멤버 배열에만 해당됩니다.

결론

유연한 멤버 배열은 C99에서 사용할 수 있음에도 불구하고 C에서는 유효하지 않습니다. C에서 이 기능을 제외하는 이유는 C가 C에 도입되기 전에 표준화되었기 때문입니다.

위 내용은 C에서는 유연한 배열 멤버가 허용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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