> 백엔드 개발 > C++ > C의 배열 초기화: `Array[n]` 대 `Array[10]` – 차이점은 무엇입니까?

C의 배열 초기화: `Array[n]` 대 `Array[10]` – 차이점은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-16 14:56:11
원래의
703명이 탐색했습니다.

Array Initialization in C  : `Array[n]` vs. `Array[10]` – What's the Difference?

배열[n] 대 배열[10]: 배열 크기에 대한 변수 초기화와 숫자 리터럴의 차이점

C 프로그래밍에서 배열은 데이터 저장 및 검색에 중요한 역할을 합니다. 그러나 배열 초기화 작업 시 특히 가변 길이 배열 사용과 관련하여 특정 함정이 있을 수 있습니다.

다음 코드 조각을 고려하세요.

이 코드는 초기화를 목표로 합니다. 10으로 설정된 변수 n에 의해 크기가 결정되는 tenorData라는 배열. 그러나 이 접근 방식은 가변 크기 객체 tenorData가 불가능하다는 컴파일 오류를 발생시킵니다.

이 코드의 주요 차이점은 변수 n을 사용하여 배열의 크기를 정의한다는 점입니다. C에서는 가변 길이 배열이 지원되지 않습니다. 즉, 배열의 크기는 컴파일 타임에 알려진 상수여야 합니다.

이 문제를 해결하고 배열을 성공적으로 초기화하려면 다음과 같은 몇 가지 옵션을 사용할 수 있습니다.

  • 숫자 리터럴 사용: 변수에 크기를 할당하는 대신 변수의 요소 수를 직접 지정할 수 있습니다. 배열:
  • 상수 사용: 배열의 크기를 상수로 정의할 수 있습니다:
  • 동적 할당 사용: 새 할당을 사용하여 배열에 메모리를 동적으로 할당합니다. 연산자:

배열 작업이 끝나면 delete [] tenorData를 사용하여 메모리 할당을 취소해야 합니다.

  • 표준 컨테이너 사용: 동적으로 크기를 조정할 수 있는 std::Vector와 같은 표준 컨테이너를 사용하는 것을 고려해보세요. 필요:

이러한 지침을 따르면 가변 길이 배열과 관련된 함정을 피하면서 C에서 배열을 효과적으로 초기화할 수 있습니다.

위 내용은 C의 배열 초기화: `Array[n]` 대 `Array[10]` – 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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