c arrays with examples
5 년 경력의 수동 테스트 인터뷰 질문
C ++에서 배열이란 무엇입니까? 왜 유용한가?
이것에 완전한 C ++ 교육 시리즈 ,이 튜토리얼에서는 C ++의 배열을 살펴 보겠습니다.
C ++의 배열은 단순히 데이터 모음으로 정의 할 수 있습니다.
내가 디자인하고있는 애플리케이션 중 하나에 정수 데이터 유형의 변수 100 개가 필요한 경우. 그런 다음 변수 선언을 사용하여 100 개의 서로 다른 정수 변수를 선언해야합니다. 이것은 차례로 정말 번거로울 것입니다.
대신 연속 된 100 개의 메모리 위치를 보유하는 단일 변수를 선언하면 어떨까요? 이것이 어레이가 등장하는 곳입니다.
학습 내용 :
C ++의 배열
배열은 동일한 데이터 유형의 변수 모음으로 정의 할 수 있으며 연속적인 메모리 위치를 갖습니다.
따라서 100 개의 정수 배열을 정의하면 메모리 표현은 다음과 같습니다.
위와 같이 0… 99는이 어레이의 메모리 위치이며 연속적입니다. 빈 패널은 실제 배열 요소입니다. 인덱스를 사용하여 배열의 개별 요소에 액세스 할 수 있습니다. 위 다이어그램에서 배열의 첫 번째 인덱스는 0이고 마지막 인덱스는 99입니다 (100 개 요소의 배열이기 때문에) .0 1 2 3 4 5 ……. … .. 99.
배열의 시작 인덱스는 항상 0입니다. 따라서 n 요소의 배열에 대해 배열의 시작 인덱스는 0이되고 마지막 인덱스는 n-1이됩니다.
배열 선언
C ++의 배열 선언은 일반적으로 다음과 같습니다.
datatype arrayName ( arraySize );
위의 선언은 1 차원 배열에 대한 것입니다. 여기서 데이터 유형은 C ++에서 허용되는 모든 데이터 유형입니다. ‘arrayName’은 우리가 생성하는 배열의 이름이고, 항상 대괄호 (())로 묶인 arraySize는 배열이 보유 할 요소의 수입니다. arraySize는 항상 상수 표현식이어야합니다.
예를 들어, Integer 유형의 10 개 요소를 사용하여 myarray라는 배열을 선언해야하는 경우 선언은 다음과 같습니다. :
int myarray (10);
마찬가지로 요소가 20 개인 double 유형의 배열 'salary'에 대한 선언은 다음과 같습니다.
double salary ( 20 );
배열 초기화
배열이 선언되면 적절한 값으로 초기화 할 수 있습니다. 배열에 할당 된 값의 수는 선언에 지정된 배열의 크기를 초과하지 않아야합니다.
따라서 크기 5의 배열을 선언하고 integer를 입력하고 이름을 myarray로 지정하겠습니다.
int myarray(5);
다음과 같이 배열 요소에 값을 하나씩 할당 할 수 있습니다.
myarray(0) = 1; myarray(1) = 2; myarray(2) = 3; myarray(3) = 4; myarray(4) = 5;
각 개별 요소를 초기화하는 대신 아래와 같이 선언 자체 중에 전체 배열을 초기화 할 수도 있습니다.
int myarray(5) = {1, 2, 3, 4, 5};
위에서 볼 수 있듯이 배열 요소를 값으로 초기화하는 작업은 중괄호 ({})를 사용하여 수행됩니다.
위 초기화의 결과로 배열은 다음과 같이 보입니다.
크기를 지정하지 않고 요소 만 지정하여 배열을 초기화 할 수도 있습니다.
이것은 아래와 같이 수행됩니다.
int myarray() = {1, 2, 3, 4, 5};
이 경우 배열의 크기가 지정되지 않은 경우 컴파일러는 배열이 초기화되는 요소 수와 동일한 크기를 할당합니다. 따라서 위의 경우 myarray의 크기는 5가됩니다.
배열 요소에 액세스
배열 인덱스를 사용하여 배열 요소에 액세스 할 수 있습니다. 배열 인덱스는 항상 0부터 시작하여 arraySize-1까지 이동합니다.
배열 요소에 액세스하는 구문은 다음과 같습니다.
arrayName(index)
위에서 선언 한 myarray를 예로 들어 보겠습니다.
4에 액세스해야하는 경우일myarray의 요소가 있으면 다음과 같이 할 수 있습니다.
myarray(3);
2를 할당해야하는 경우ndmyarray의 요소를 정수 변수로 변경하면 다음과 같이 수행합니다.
int sec_ele = myarray(1);
C ++에서 배열 크기를 초과하는 배열 요소에 액세스하면 프로그램이 잘 컴파일되지만 결과가 예상치 못한 결과가 될 수 있습니다.
모든 배열 요소에 한 번에 액세스해야하는 경우 배열의 모든 요소를 탐색하고 인덱스 변수를 사용하여 액세스 할 수있는 C ++ 반복 구조를 사용할 수 있습니다.
모든 구문 중에서 for 루프는 배열에 액세스하는 데 이상적입니다. 정의에 따라 'for'루프는 인덱스 변수를 사용하여 시퀀스를 순회하고 각 반복 후에 자동 증분되기 때문입니다.
예를 들어앞에서 정의한 동일한 myarray를 사용합니다. for 루프를 사용하여 myarray 요소에 액세스하는 코드는 다음과 같습니다.
for(int i = 0;i<5;i++) { cout<위의 코드에서 myarray는 인덱스 변수 I를 사용하여 0에서 5까지 순회되고 요소는 각 반복 후에 인쇄됩니다.
위 코드의 출력은 다음과 같습니다.
1
두
삼
4
5
위에 표시된대로 배열 요소에 액세스하는 것 외에도 우리는 변수를 사용하여 모든 다른 작업을 수행하는 방식으로 배열 요소에 액세스하고 다른 연산자와 함께 사용할 수도 있습니다.
배열의 모든 요소의 합계를 인쇄하는 다음 프로그램을 고려하십시오.
#include include using namespace std; int main() { int myarray(5) = {10, 20,30,40,50}; int sum = 0; for(int i = 0;i<5;i++) { sum += myarray(i); } cout<<'Sum of elements in myarray:
'<위의 코드에서 myarray라는 배열을 선언하고 초기화합니다. 변수 합계를 0으로 초기화 한 다음 for 루프를 사용하여 myarray를 탐색하고 각 배열 요소를 합계에 추가합니다.
프로그램이 제공하는 최종 출력은 myarray에있는 모든 요소의 합계이며 다음과 같습니다.
myarray의 요소 합계 :
150
프로그램에서 알 수 있듯이 반복 루프를 사용하여 개별적으로 또는 한 번에 배열 요소에 액세스 할 수 있으며 변수에 대한 작업을 수행하는 것과 동일한 방식으로 배열 요소에 대해 다양한 작업을 수행 할 수 있습니다.
결론
이것으로, 우리는 배열의 기본을 설명하는 배열에 대한이 기사의 마지막 부분에 이르렀습니다. 배열 요소의 선언, 초기화 및 액세스.
다음 몇 가지 기사에서는 다차원 배열, 배열 포인터, 함수의 배열 등에 대해 다른 개념과 함께 더 자세히 논의 할 것입니다.
이 유익한 튜토리얼을 통해 C ++의 배열에 대한 더 많은 지식을 얻었을 것입니다.
추천 도서