요소보다 적은 수의 이니셜라이저를 사용하여 자동 구조 또는 배열을 초기화하는 경우 다음에 의해 지정된 동작을 이해하는 것이 중요합니다. C와 C 표준.
C 표준은 자동 변수에 대해 두 가지 유형의 초기화, 즉 완전 초기화와 초기화 없음을 정의합니다. 부분 초기화는 요소나 멤버 중 일부만 초기화되는 상황을 가리키는 비표준 용어입니다.
C99 표준
C99에서는 자동 배열 및 구조의 경우 요소보다 초기화 프로그램 수가 적으면 나머지 요소가 초기화됩니다. 정적 저장 기간을 갖는 객체와 암시적으로 동일합니다. 이는 정수 유형의 경우 0으로 초기화된다는 의미입니다.
C 03 Standard
C에서 자동 배열 및 구조의 경우 초기화되지 않은 멤버는 값으로 초기화됩니다. 클래스 유형의 경우 이는 기본 생성자를 호출하는 것을 의미합니다. int와 같은 내장 유형의 경우 이는 0 초기화를 의미합니다.
C에서는 단일 값으로 정수의 자동 배열을 초기화합니다. 예:
int arr[10] = {123,};
C에서 지정한 대로 첫 번째 요소를 123으로 초기화하고 나머지 모든 요소를 0으로 초기화합니다.
대부분의 주류 컴파일러는 C 및 C 표준에 지정된 부분 초기화 규칙을 따릅니다. 그러나 다양한 컴파일러 간의 호환성을 보장하려면 모든 요소나 멤버를 명시적으로 초기화하는 것이 좋습니다.
위 내용은 부분적으로 초기화된 자동 구조와 배열은 C와 C에서 어떻게 처리됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!