>백엔드 개발 >C++ >C와 C에서 구조와 배열의 부분 초기화는 어떻게 작동합니까?

C와 C에서 구조와 배열의 부분 초기화는 어떻게 작동합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-24 08:40:19624검색

How Does Partial Initialization of Structures and Arrays Work in C and C  ?

C 및 C의 자동 구조 및 배열 부분 초기화

부분 초기화

In C 및 C와 같은 구조적 프로그래밍 언어, 이니셜라이저를 사용하여 당시 데이터 멤버에 값을 할당할 수 있습니다. 객체 선언. 그러나 멤버 수보다 적은 수의 이니셜라이저가 제공되는 아래 제공된 코드 조각의 사례 1과 달리 표준에서는 두 가지 유형의 초기화만 정의합니다.

부분 초기화 규칙 배열 및 구조

실제로 "부분 초기화"라는 용어는 다음과 같은 상황을 설명하는 데 자주 사용됩니다. 위의 경우 1에서는 이니셜라이저가 멤버의 하위 집합에만 제공됩니다. C 및 C 표준 모두 부분 초기화를 명시적으로 참조하지는 않지만 부분 초기화에도 다음 규칙이 적용되어 완전 초기화 및 초기화 없음 모두에 대한 동작을 정의합니다.

  • 배열 또는 구조가 부분적으로 초기화되면 초기화되지 않은 모든 요소는 저장 유형에 관계없이 0으로 초기화됩니다.
  • 이 동작은 C99 표준에 의해 보장됩니다. (6.7.8.21) for C 및 C 03 표준(8.5.1 및 8.5) for C .

호환성 보장

다양한 제품과의 호환성을 보장하기 위해 gcc/g를 포함한 컴파일러에서는 구조와 배열을 초기화할 때 부분 초기화를 피하면서 표준 규칙을 따르는 것이 좋습니다. 예상치 못한 동작이 발생할 수 있으므로 초기화하세요.

위 내용은 C와 C에서 구조와 배열의 부분 초기화는 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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