앞서 포인터와 관련된 포스팅의 연장선, 배열을 포인터에 적용해 보겠다. 

& 연산자는 중복 불가이고, * 연산자는 중복 가능이다. 


*a == *&a[0] == a[0] 

이와 같이 배열의 시작주소는 포인터의 값과 같다. 

배열 첨자가 i인 원소의 주소는 &a[i] == a+i 로 나타낼 수 있다. 



이를 2차원 포인터와 연관지어 생각하면 

 ex) int *p;

   int **pp;

   p = &a;

   pp = &p; 

이 예제에서 유추할 수 있는 관계는 다섯가지이다.


⑴  p = &a             변수 p는 변수 a의 주소 저장

⑵  *p = a              *p는 a와 동일한 일반 변수

⑶  pp = &p            pp에 저장된 주소는 1차원 포인터 변수 p의 주소

⑷  *pp = p = &a     변수 a의 주소

 **pp = *p = a


포인터 배열을 사용하는 것은 다음 포스팅에서 함수 포인터와 함께 예시를 제시하겠다. 


+ Recent posts