>백엔드 개발 >C++ >C 배열의 모든 요소를 ​​0이 아닌 값으로 효율적으로 초기화하려면 어떻게 해야 합니까?

C 배열의 모든 요소를 ​​0이 아닌 값으로 효율적으로 초기화하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-27 21:50:10473검색

How Can I Efficiently Initialize All Elements of a C   Array to a Non-Zero Value?

C의 배열 초기화 이해

C의 배열 초기화 주제는 혼란스러울 수 있으며, 특히 모든 요소를 ​​non으로 초기화하려고 할 때 더욱 그렇습니다. -기본값은 0입니다. 이 기사에서는 일반적인 질문에 답하고 효과적인 배열 초기화를 위한 솔루션을 제공합니다.

초기 값 설정

주어진 코드에서:

int array[100] = {-1};

모든 요소가 -1로 초기화될 것으로 예상됩니다. 그러나 첫 번째 요소만 -1로 설정됩니다. 나머지 요소는 임의의 값을 사용하여 0으로 초기화됩니다. 이는 생략된 요소가 암시적으로 0으로 설정되기 때문입니다.

모든 요소를 ​​-1로 초기화하려면 올바른 구문은 다음과 같습니다.

int array[100] = {-1, -1, -1, ...};

또는 std::fill_n 함수를 사용할 수 있습니다. <알고리즘> header:

std::fill_n(array, 100, -1);

성능 비교

기본 초기화 방법(int array[100] = {-1};)과 std::fill_n 방법 모두 배열 초기화를 효율적으로 수행합니다. 기본 초기화가 더 빠른 것처럼 보일 수 있지만 구현에 따라 다를 수 있으며 모든 경우에 더 빠르다고 보장할 수 없다는 점에 유의하는 것이 중요합니다.

더 큰 배열의 경우 일반적으로 std::fill_n 메서드가 다음과 같이 더 효율적입니다. 각 요소 할당에 대해 임시 변수를 생성하지 않아도 됩니다.

위 내용은 C 배열의 모든 요소를 ​​0이 아닌 값으로 효율적으로 초기화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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