728x90

포인터를 이용해서 역참조 연산자를 사용해보자

 

우리는 전에 포인터를 사용하는 방법을 배웠다.

 

다시 이야기하면 변수의 메모리주소를 불러올 수 있다는 것이다.

 

그렇다면 포인터를 이용해서 변수의 값을 가져와 보자!

 

- %d를 사용한 이유는 정수형으로 값을 출력하기 때문이다. 

- 포인터 변수 앞에 *을 붙여서 출력하면, 포인터가 가리키는 변수의 메모리 주소에 저장된 값을 가져온다.

 

그림으로 보면

포인터 변수 앞에 *(에스더리스크)을 붙이는 것을 역참조 연산자라고 부른다.

 

그렇다면 

 

이것을 이용해 num1에 값을 변경해보자

- *numPtr은 num1 변수 메모리 주소에 저장된 값을 가리키는데 이때 =으로 값을 저장하면

- num1 변수 메모리 주소에 저장된 값이 20으로 변경이 된다.

- 출력시 num1을 출력해보면 20이라는 결과가 나온다.

 

그림으로 간단하게 설명하면

- 우리는 이미 num1의 메모리 주소를 numPtr에 저장했다.

- 그리고 *numPtr을 사용해서 num1의 메모리주소에 저장된 값을 가리키며 =을 사용해 20이라는 값을 num1 메모리 주소에 저장했다.(역참조 연산자 사용)

 

 

728x90

+ Recent posts