>백엔드 개발 >C++ >C에서 동적으로 크기가 조정된 배열을 어떻게 만들 수 있습니까?

C에서 동적으로 크기가 조정된 배열을 어떻게 만들 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-05 13:06:49133검색

How Can I Create a Dynamically Sized Array in C  ?

C의 가변 크기 배열

C에서는 가변 길이의 배열 초기화가 허용되지 않습니다. 그러나 G 와 같은 특정 구현에서는 이 방식이 확장으로 허용됩니다.

int n = 10;
double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

"tenorData"는 초기화할 수 없는 가변 크기 개체이므로 이 코드에서는 오류가 발생합니다. 이 문제를 해결하려면 배열 크기를 숫자 리터럴로 지정할 수 있습니다.

double tenorData[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

대체 접근 방식

동적 크기 배열이 정말로 필요한 경우 C에서는 다음을 제공합니다. 여러 옵션:

  • 동적 메모리 할당: new 및 delete[]를 사용한 수동 할당.
int n = 10;
double* a = new double[n];
// ...
delete[] a;
  • 표준 컨테이너: std::Vector와 같은 표준 컨테이너 사용.
int n = 10;
std::vector<double> a(n);

고정 크기 배열

가변 크기 배열이 필요하지 않은 경우 상수를 사용하여 고정 크기 배열을 만들 수 있습니다.

const int n = 10;
double a[n];

또는 C에서 constexpr을 사용할 수 있습니다. 11:

constexpr int n()
{
    return 10;
}

double a[n()];

위 내용은 C에서 동적으로 크기가 조정된 배열을 어떻게 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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