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

C/C++에서 배열 인덱스가 0부터 시작하는 이유는 무엇입니까?


배열 arr[i]는 *(arr+i)로 해석됩니다. 여기서 arr은 첫 번째 배열 요소 또는 0 인덱스 요소의 주소를 나타냅니다. 따라서 *(arr+i)는 배열의 첫 번째 요소에서 i 거리에 있는 요소를 의미합니다. 따라서 배열 인덱스는 처음에 i가 배열의 첫 번째 요소를 의미하는 0이므로 0에서 시작합니다.

이를 C++로 보여주는 프로그램은 다음과 같다.

예시

#include <iostream>
using namespace std;
int main() {
   int arr[] = {5,8,9,3,5};
   int i;
   for(i = 0; i<5; i++)
   cout<< arr[i] <<" ";
   cout<<"\n";
   for(i = 0; i<5; i++)
   cout<< *(arr + i) <<" ";
   return 0;
}

출력

위 프로그램의 출력은 다음과 같습니다.

5 8 9 3 5
5 8 9 3 5

이제 위의 프로그램을 이해합시다.

배열 arr[]에는 5개의 요소가 있습니다. 이러한 요소는 배열 표현 arr[i] 및 *(arr + i)와 함께 for 루프를 사용하여 표시됩니다. 얻은 결과는 두 경우 모두 동일합니다. 이를 보여주는 코드 스니펫은 다음과 같습니다.

int arr[] = {5,8,9,3,5};
int i;
for(i = 0; i<5; i++)
cout<< arr[i] <<" ";
cout<<"\n";
for(i = 0; i<5; i++)
cout<< *(arr + i) <<" ";