객체 프로그래밍 C++(포인터를 이용한 배열1)
본문 바로가기
코딩공부/C++기초

객체 프로그래밍 C++(포인터를 이용한 배열1)

by 지누이야기 2024. 3. 6.
반응형

저번시간에는 포인터를 활용해서 스왑함수를 만드는 것까지 했습니다. 

 

이번 시간에는 포인터를 활용해서 배열을 어떻게 나타내는지에 대해서 설명해보려고 합니다.

 

배열의 각 요소는 주소를 가집니다!!

 

예를 들어서 int의 경우에는 a[0]과 a[1]은 4바이트씩만큼 차이나게 됩니다. double같은 경우에는 8바이트씩 차이나겠죠. 

 

그리고 배열의 이름은 주소입니다. 예를 들어 Name[5[의 배열을 선언했다고 하자. 

 

그러면 Name은 &Name[0]과 같습니다. 즉 그냥 Name만 쓰게 되면 Name 배열의 시작 주소를 가리키게 되는 것입니다.

 

그림 1

 

위의 그림 1을 보면 제대로 이해되었을 것입니다.

그림 2

 

좀 응용해보자면 Name이 주소값이기 때문에 Name을 역참조를 하게 되면 Name[0]의 값이 나오게 됩니다.

 

그리고 +1을 사용해 배열의 그 다음 값을 가리킬 수 있습니다. 

 

그림 3

 

int형의 경우 주소가 4바이트만큼 차이가 난다고 하였으나 +1을 해주면 기존 주소 값에 4바이트(int의 경우)를 더해주게 됩니다.

 

반응형

댓글