본문 바로가기
C++/배열

[C++] 배열 이름으로 인덱싱이 가능하다는 것의 의미

by bigpicture 2022. 8. 12.
반응형

C++에서는 배열의 이름 뒤에 [인덱스] 를 붙이는 것으로 배열 원소에 접근할 수 있습니다. 예를 들어 아래와 같은 배열이 있다고 합시다. 

int ar[3]={1,2,3};


각 원소에 접근하는 방법은 아래와 같습니다. 

첫 번째 원소 ar[0]
두 번째 원소 ar[1]
세 번째 원소 ar[2]

이 부분에서 한가지 질문을 던져봅시다. 

"배열 이름 ar은 포인터이다. 포인터에 인덱싱이 가능하다는 말인가?" 

대답은 yes 입니다. 배열의 이름 뿐만 아니라, 배열을 가리키는 포인터는 인덱싱이 가능합니다. 위에서 선언한 배열 ar을 가리키는 포인터변수를 하나 선언해봅시다. 

int* par=ar;

par 에는 배열 ar의 주소가 저장됩니다. 이제 par은 ar과 같은 역할을 합니다. 아래 두 코드의 출력값이 같습니다. 

cout<<ar<<endl;
cout<<par<<endl;


인덱싱도 가능합니다. 아래 두 코드의 출력값이 같습니다. 

cout<<ar[0]<<endl;
cout<<par[0]<<endl;


    

반응형

'C++ > 배열' 카테고리의 다른 글

[C++] 배열이란 무엇인가  (0) 2022.08.12

댓글