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을 뺀 값입니다. 다음은 위에서 설명한 배열의 그래픽 표현입니다.
배열 요소 액세스
배열 요소는 배열 이름과 인덱스로 액세스할 수 있습니다. 요소의 인덱스는 배열 이름 뒤에 대괄호로 묶입니다. 예:
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++에서는 함수에서 배열을 반환할 수 있습니다. |