> 백엔드 개발 > C++ > 배열 초기화는 어떻게 C와 C에서 배열을 0으로 채우나요?

배열 초기화는 어떻게 C와 C에서 배열을 0으로 채우나요?

Mary-Kate Olsen
풀어 주다: 2024-12-01 12:43:10
원래의
218명이 탐색했습니다.

How Does Array Initialization Fill Arrays with Zeros in C and C  ?

배열 초기화가 배열을 0으로 채우는 방법

char array[100] = {0}과 같은 배열의 초기화는 오히려 간단한 메커니즘을 사용합니다. 어떤 신비한 마법보다.

C에서 섹션에 따르면 C 사양의 6.7.8.21에서 컴파일러는 정의되지 않은 배열 요소에 대해 NULL에 포인터를 할당하고 산술 유형을 0에 할당합니다. 이 프로세스는 집계에 재귀적으로 적용됩니다.

C에서 C 사양의 섹션 8.5.1.7에서는 컴파일러가 정의되지 않은 배열 요소를 집계 초기화하도록 규정합니다.

게다가 C에서는 빈 초기화 목록 옵션을 제공합니다. , char array[100] = {}, 이는 모든 배열 요소에 대한 집계 초기화를 트리거합니다.

얻으려면 이러한 상황에서 컴파일러가 생성한 코드에 대한 통찰력은 "배열 0 초기화의 이상한 어셈블리" 질문에 대한 토론을 참조하세요.

위 내용은 배열 초기화는 어떻게 C와 C에서 배열을 0으로 채우나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿