컴퓨터공부/C & C++ & STL

포인터 연산

achivenKakao 2008. 8. 26. 07:09
 int *ptr;
 int num[] = {2,4,6,8,10};
 
 
 ptr = num;
 
 *ptr++;
 
 *ptr++;
 
 (*ptr)++;
 
 (*ptr)++;

예문이 위와 같을 때 *ptr의 값과 후치연산 후 ptr의 주소 값 이동은?

결과는 드래그

2(주소 : num[0] + 1)

4(주소 :  num[0] + 1 + 1)

7(주소 :  num[0] + 1 + 1)    -> 후치연산 후, 주소 연산이 아니라 포인터가 가르키는 값이 증가했다.

8(주소 :  num[0] + 1 + 1)    -> 후치연산 후, 주소 연산이 아니라 포인터가 가르키는 값이 증가했다.