> 백엔드 개발 > C++ > C에서 기본값을 할당하면 일부 배열 요소가 0으로 초기화되는 이유는 무엇입니까?

C에서 기본값을 할당하면 일부 배열 요소가 0으로 초기화되는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-27 20:30:11
원래의
680명이 탐색했습니다.

Why are Some Array Elements Initialized to Zero When I Assign a Default Value in C  ?

C에서 기본값을 사용하여 배열 요소 초기화

질문:

왜 초기화를 수행합니까? 아래 구문을 사용하여 0이 아닌 값을 가진 배열은 일관성이 없습니다. 값?

int array[100] = {-1};
로그인 후 복사
로그인 후 복사

답변:

질문에 언급된 구문을 사용하여

int array[100] = {-1};
로그인 후 복사
로그인 후 복사

첫 번째 요소를 지정된 값으로 초기화합니다. (-1)이며 나머지 요소는 기본적으로 0으로 설정됩니다. 모든 요소를 ​​-1로 초기화하려면 의 std::fill_n 함수를 활용할 수 있습니다.

std::fill_n(array, 100, -1);
로그인 후 복사

C 코드의 경우 모든 요소를 ​​명시적으로 초기화하려면 수동 루프가 필요합니다. 컴파일러 확장 또는 구현 정의 동작은 바로가기를 제공할 수 있지만 이식성을 위해 이에 의존하는 것은 권장되지 않습니다.

초기화 속도 관련:

기본 초기화 방법은 일반적으로 다음과 같습니다. 루프를 사용하여 각 요소를 명시적으로 초기화하는 것보다 빠릅니다. 그러나 대규모 어레이를 다루지 않는 한 일반적으로 성능 차이는 무시할 수 있습니다.

위 내용은 C에서 기본값을 할당하면 일부 배열 요소가 0으로 초기화되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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