|
*pa++와 (*pa)++의 차이점은 다음과 같습니다.
*pa++는 연산순의에 따라서 *(pa++)와 동일합니다. 결과적으로는 *pa값을 구하기는 하지만 나중에 p를 1만큼 증가시켜 놓습니다.
(*pa)++는 먼저 *pa값을 구한 다음에 *pa값 자체를 1만큼 증가시킵니다. 따라서 pa는 증가되지 않습니다.
예를 아주 간단히 들자면..
a[2] = {100, 200}이 있다면
*pa는 100, *pa++는 200
(*pa)++는 101
이유인즉 pa자체는 주소값이기 때문입니다. 주소에 1을 더하니까 그 다음 주소에 있는 값을 불러오게 되는 것입니다.
하지만 (*pa)는 그 자체값에다가(100) 1을 더한 것이니까 101이 된 것이죠.
저도 공부중이라 제가 아는데까지 설명을 드렸습니다.
위의 예제는 100% 개념을 설명하고자 열거한 것입니다.
고수님들의 양해를 부탁드립니다.^^
그럼 즐겁게 프로그래밍 공부하세요~
|