Problem

2/9

배열 요소에 액세스

Theory Click to read/hide

배열 요소 참조 < /u>

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

기억: C# 배열 번호 지정은 0부터 시작합니다.< br />
배열 A에 액세스하는 예:
<예비> int x = (A[3] + 5) * A[1] / / 값 A[3] 및 A[1] 읽기 A[0] = x + 6 // A[0]에 새 값 쓰기 배열 요소 작업을 위한 프로그램을 분석해 보겠습니다. <예비> int i = 1; int[] A = 새로운 int[5]; //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[1] + 2*A[0] + A[2]; Console.Write((A[2] + A[4])); 이 프로그램을 실행한 결과, 인덱스 2와 인덱스 4는 화면에 116과 동일하게 나타납니다. 예제에서 볼 수 있듯이 배열의 모든 요소에 액세스할 수 있습니다. 또한 다양한 공식을 사용하여 필요한 요소 번호를 계산합니다(예: 프로그램 A[i-1] 또는 A[2*i]에서와 같이 이러한 경우, 요소 인덱스가 계산되고 i)의 값에 따라 달라집니다.

예제 프로그램을 분석해 봅시다.
<예비> int N = 5; int[] A = 새로운 int[N]; 정수 x = 1; A[x + 4] = A[x] + A[2 * (x + 1)];  // x를 식과 계산에 대입한 후                            // 다음 줄을 얻습니다. A[5] = A[1] + A[4]                           // A[5] 그러한 요소가 존재하지 않습니다.                           // 오류 - 범위를 벗어난 배열 배열은 5개의 요소로 선언됩니다. 4. 6번째 줄에 있는 프로그램이 존재하지 않는 요소인 A[5]를 참조하는 것을 볼 수 있습니다.
프로그램이 배열의 범위를 넘어선 것으로 나타났습니다.
배열 오버런은 배열에 존재하지 않는 인덱스의 요소에 대한 액세스입니다.
이러한 경우 프로그램은 일반적으로 런타임 오류와 함께 충돌합니다.

 

Problem

9~12행에서 인덱스 1~4의 배열 요소를 값의 두 배로 설정합니다. 배열의 이전 요소입니다. 
이 작업에서는 특정 번호를 할당할 수 없으며 이름과 인덱스, 즉 레코드로 배열의 이전 요소를 참조해야 합니다.
A[1] = 46 무효로 간주됩니다.