본문 바로가기
C_프로그래밍

[C 프로그래밍] 33장. 포인터 연산

by 팔공산호랑이 2020. 4. 6.

--------------------------------------

--------------------------------------

포인터 연산은

주소 연산을 말하며

이 주소 연산이 일반적인 연산과는 다르게 특별하기 때문에

따로 포인터 연산에 대해서 다루고 있습니다.

--------------------------------------

 

예제를 살펴보겠습니다.

포인터 변수에 num변수의 주소를 저장한 다음

밑에서

ptr의 값

ptr+1의 값

ptr+2의 값을

차례로 출력하고 있습니다.

--------------------------------------

실행결과는 다음과 같습니다.

ptr의 값

16진수 형태로 003FFB30이고

ptr+1의 값은

거기에 4가 더해진 003FFB34가 출력되었습니다.

ptr+2의 값은

거기에 8이 더해진 003FFB38이 출력되었습니다.

--------------------------------------

 

다음 예제를 살펴보겠습니다.

이번에는

double형 포인터 ptrnum의 주소를 저장하였습니다.

그 다음

ptr의 값

ptr+1

ptr+2 값을

차례로 출력하고 있습니다.

--------------------------------------

실행결과는 다음과 같습니다.

ptr의 값은

0036F86C가 나왔고

ptr+1의 값은

거기서 8이 더해진

0036F874가 나왔고

ptr+2의 값은

거기서 16이 더해진

0036F87C가 나왔습니다.

--------------------------------------

즉 가리키고 있는 자료형 만큼 증가합니다.

int형 포인터는 +1하면 +4가 되고

double형 포인터는 +1하면 +8이 됩니다.