Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C# 배열에서 인덱싱이 0으로 시작하는 이유는 무엇입니까?

<시간/>

배열은 인덱스 메모리의 주소에 대한 포인터였습니다. 이 인덱스는 배열의 첫 번째 요소였습니다. 여기에서 인덱스는 오프셋과 같은 개념이며 C 언어가 나오기도 전의 개념입니다.

배열 요소가 0Xff000에서 시작하고 {35,23,67,88,90}과 같은 5개의 요소가 있다고 가정해 보겠습니다. 따라서 int는 4바이트로 저장되기 때문에 메모리의 배열은 다음과 같을 것입니다.

0Xff000 has 35
0Xff004 has 23
0Xff008 has 67
0Xff012 has 88
0Xff016 has 90

이는 배열에 액세스할 때 오프셋이 0인 인덱스가 0임을 의미합니다.

C#에서 제로 인덱싱의 개념을 더 자세히 살펴보겠습니다. −

  • 배열이 비어 있으면 요소가 없고 길이가 0입니다.
  • 배열의 인덱스가 0인 요소가 하나이면 길이는 1입니다.
  • 배열에 0과 1 인덱스에 두 개의 요소가 있으면 길이가 2입니다.
  • 배열의 인덱스가 0, 1, 2인 요소가 3개인 경우 길이는 3입니다.

다음은 C#의 배열이 인덱스 0 −

으로 시작한다는 것을 나타냅니다.
/* begin from index 0 */
for ( i = 0; i < 10; i++ ) {
   num[ i ] = i + 10;
}