배열 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) <<" ";