C++ 배열


C++는 동일한 유형의 고정 크기 순차 컬렉션을 저장할 수 있는 array 데이터 구조를 지원합니다. 배열은 일련의 데이터를 저장하는 데 사용되지만 종종 동일한 유형의 일련의 변수로 간주됩니다.

배열의 선언은 숫자0, 숫자1,..., 숫자99 등의 개별 변수를 선언하는 것이 아니라, 숫자 등의 배열변수를 선언한 후 숫자[0], 숫자[1], ... , 숫자[99]는 개별 변수를 나타냅니다. 배열의 특정 요소는 인덱스를 통해 액세스할 수 있습니다.

모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은 주소는 첫 번째 요소에 해당하고 가장 높은 주소는 마지막 요소에 해당합니다.

배열 선언

C++에서 배열을 선언하려면 아래와 같이 요소의 유형과 요소 수를 지정해야 합니다.

type arrayName [ arraySize ];

이를 1차원 배열이라고 합니다. arraySize는 0보다 큰 정수 상수여야 하며, type은 유효한 C++ 데이터 유형일 수 있습니다. 예를 들어, 10개의 요소를 포함하는 double 유형의 배열 balance을 선언하려면 선언문은 다음과 같습니다.

double balance[10];

이제 balance는 double 유형의 10개 숫자를 보유할 수 있는 사용 가능한 배열입니다.

배열 초기화

C++에서는 아래와 같이 배열을 하나씩 초기화하거나 초기화 문을 사용할 수 있습니다.

double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};

중괄호 { } 사이의 값 개수는 숫자보다 클 수 없습니다. 대괄호 사이의 값으로 배열을 선언합니다. [ ]에 지정된 요소 수입니다.

배열의 크기를 생략하면 배열의 크기는 초기화하는 동안의 요소 수입니다. 따라서 다음과 같은 경우

double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};

이전 인스턴스에서 생성된 것과 정확히 동일한 배열을 생성하게 됩니다. 다음은 배열의 요소에 값을 할당하는 예입니다.

balance[4] = 50.0;

위 명령문은 배열의 다섯 번째 요소의 값을 50.0에 할당합니다. 모든 배열은 기본 인덱스라고도 하는 첫 번째 요소로 0을 사용하여 인덱스가 지정되며 배열의 마지막 인덱스는 배열의 전체 크기에서 1을 뺀 값입니다. 다음은 위에서 설명한 배열의 그래픽 표현입니다.

array_presentation.jpg

배열 요소 액세스

배열 요소는 배열 이름과 인덱스로 액세스할 수 있습니다. 요소의 인덱스는 배열 이름 뒤에 대괄호로 묶입니다. 예:

double salary = balance[9];

위 명령문은 배열의 10번째 요소 값을 급여 변수에 할당합니다. 다음 예에서는 위의 세 가지 개념, 즉 배열 선언, 배열 할당 및 배열 액세스를 사용합니다.

#include <iostream>
using namespace std;
 
#include <iomanip>
using std::setw;
 
int main ()
{
   int n[ 10 ]; // n 是一个包含 10 个整数的数组
 
   // 初始化数组元素          
   for ( int i = 0; i < 10; i++ )
   {
      n[ i ] = i + 100; // 设置元素 i 为 i + 100
   }
   cout << "Element" << setw( 13 ) << "Value" << endl;
 
   // 输出数组中每个元素的值                     
   for ( int j = 0; j < 10; j++ )
   {
      cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
   }
 
   return 0;
}

위 프로그램은 setw() 함수를 사용하여 출력 형식을 지정합니다. 위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다.

Element        Value
      0          100
      1          101
      2          102
      3          103
      4          104
      5          105
      6          106
      7          107
      8          108
      9          109

C++ 배열에 대한 자세한 설명

C++에서 배열은 매우 중요하므로 배열에 대해 더 자세히 알아야 합니다. 다음은 C++ 프로그래머가 알아야 할 배열과 관련된 몇 가지 중요한 개념입니다.

개념 Description
다차원 배열C++은 다차원 배열을 지원합니다. 다차원 배열의 가장 간단한 형태는 2차원 배열입니다.
배열에 대한 포인터색인 없이 배열 이름을 지정하여 배열의 첫 번째 요소에 대한 포인터를 생성할 수 있습니다.
함수에 배열 전달 인덱스 없이 배열 이름을 지정하여 배열에 대한 포인터를 함수에 전달할 수 있습니다.
함수에서 배열 반환C++에서는 함수에서 배열을 반환할 수 있습니다.