C++

[ITSkeleton] C++ 포인터의 이동 (변수++)

ITSkeleton 2016. 10. 14. 11:25
728x90
반응형

안녕하세요

ITSkeleton입니다.


이번에는

포인터의 이동

포인터 변수++

에 대하여 설명해 드리려 합니다.


일반

int a = 0;

a++;

하면

a의 값은 1이 되지만.


포인터의 변수 같은경우에는 다른 값을 내보냅니다.


코드로 예를 들어서 설명해 보겟습니다.


int exam = 4;

int *point = NULL;

point = &exam;


위와 같은 변수를 설정했습니다.


만약에

exam 변수 값이

메모리 1500번에 저장이 되어있다고 가정하고


위의 코드에

point++;


을 추가하면

과연

point의 값은 얼마가 되어야 할까요?


기본적으로 생각하게 되는건

1501번으로 생각하게 될것입니다.


하지만

포인터는

다음 변수가 저장되어있는 메모리 공간을 표시해 줍니다.

int형식의 메모리 공간 할당량은

저번에도 말했듯이 4바이트 입니다.


그렇기 때문에

포인터를 ++을 시켜주게 되면

1504번으로 가게 되는 것이지요!


이해가 되셧는지요??


포인터에 덧셈,뺄셈을 넣어주는것은

숫자증가,감소를 나타내는 것이 아니라

포인터가 가르키는 위치를 변경하는 것입니다.


꼭 기억해두세요!


728x90
반응형