Problem

4/12

배열 요소에 액세스

Theory Click to read/hide

배열 요소 참조

배열의 유용성 대부분은 해당 요소에 개별적으로 액세스할 수 있다는 사실에서 비롯됩니다.
이렇게 하는 방법은 색인을 사용하여 요소에 번호를 매기는 것입니다.

기억하세요!
C에서 배열의 번호 매기기는 0부터 시작합니다.

(필수 사항입니다. 처음부터 시작해야 합니다. 기억해야 할 특히 중요합니다.)

배열 A에 액세스하는 예: <예비> x = (A[3] + 5)*A[1]; // A[3]과 A[1]의 값을 읽는다. A[0] = x + 6; // A[0]에 새 값 쓰기 배열 요소 작업을 위한 프로그램을 분석해 봅시다. <예비> #include <iostream> 네임스페이스 표준 사용; 기본() { 정수 i=1, A[5]; A[0] = 23; //배열의 5개 요소 각각에 대해(0에서 4까지의 인덱스) A[1] = 12; // 특정 값 쓰기 A[2] = 7; A[3] = 43; A[4] = 51; A[2] = A[i] + 2*A[i-1] + A[2*i]; // 인덱스가 2인 요소의 값을 표현식의 결과로 변경 //i=1이기 때문에 변수 i의 값을 우리가 얻는 표현식으로 대체합니다. //다음 식 A[2] = A[i] + 2*A[0] + A[2]; cout << A[2]+A[4]; } 이 프로그램의 실행 결과 116 과 같은 인덱스 2를 가진 배열 요소의 값이 화면에 나타납니다. 예에서 볼 수 있듯이 우리는 배열의 모든 요소에 액세스할 수 있습니다. 정렬. 또한 다양한 공식을 사용하여 필요한 요소 수를 계산합니다(예: 프로그램 A[i-1] 또는 A[2*i]에서와 같이 이러한 경우 요소의 인덱스가 계산되고 i의 값.)

예제 프로그램을 살펴보겠습니다 <예비> #include<iostream> 네임스페이스 표준 사용; 기본() { const int N = 5; 정수 A[N]; x = 1; cout << A[x-3]; //A[-2] 요소에 대한 참조 A[x+4]=A[x]+A[2*(x+1)]; //x를 식과 계산으로 대체하면 다음 줄을 얻습니다. A[5] = A[1]+A[ 4]; ... } 왜냐하면 배열은 5개의 요소로 선언됩니다. 즉, 요소는0에서 4까지 번호가 매겨집니다. 프로그램이 존재하지 않는 요소에 액세스하는 것을 볼 수 있습니다. A[-2] 및 A[5]
프로그램이 배열의 범위를 넘어간 것으로 나타났습니다.

범위를 벗어난 배열이 배열에 존재하지 않는 인덱스를 가진 요소에 액세스하고 있습니다.

이러한 경우 프로그램은 일반적으로 런타임 오류
와 함께 충돌합니다.
우리 스스로 배열 요소로 작업해 봅시다. 작업 완료
 

Problem

6~9행에서 인덱스 1~4의 배열 요소를 이전 배열 요소 값의 두 배로 설정합니다. 
이 작업에서는 특정 번호를 할당할 수 없으며 이름과 인덱스로 배열의 이전 요소를 참조해야 합니다.
즉, A[1]=46을 쓰는 것은 잘못된 것으로 간주됩니다.