728x90
포인터를 이용해서 역참조 연산자를 사용해보자
우리는 전에 포인터를 사용하는 방법을 배웠다.
다시 이야기하면 변수의 메모리주소를 불러올 수 있다는 것이다.
그렇다면 포인터를 이용해서 변수의 값을 가져와 보자!
- %d를 사용한 이유는 정수형으로 값을 출력하기 때문이다.
- 포인터 변수 앞에 *을 붙여서 출력하면, 포인터가 가리키는 변수의 메모리 주소에 저장된 값을 가져온다.
그림으로 보면
포인터 변수 앞에 *(에스더리스크)을 붙이는 것을 역참조 연산자라고 부른다.
그렇다면
이것을 이용해 num1에 값을 변경해보자
- *numPtr은 num1 변수 메모리 주소에 저장된 값을 가리키는데 이때 =으로 값을 저장하면
- num1 변수 메모리 주소에 저장된 값이 20으로 변경이 된다.
- 출력시 num1을 출력해보면 20이라는 결과가 나온다.
그림으로 간단하게 설명하면
- 우리는 이미 num1의 메모리 주소를 numPtr에 저장했다.
- 그리고 *numPtr을 사용해서 num1의 메모리주소에 저장된 값을 가리키며 =을 사용해 20이라는 값을 num1 메모리 주소에 저장했다.(역참조 연산자 사용)
728x90
'프로그래밍 > C 기본문법' 카테고리의 다른 글
UNIT 35. 메모리 할당과 저장 (0) | 2021.03.08 |
---|---|
UNIT 34.6 이중 포인터 사용하기 (0) | 2021.03.08 |
UNIT 34. 포인터 사용하기 (0) | 2021.03.07 |
UNIT 10. 상수 사용하기(수정중) (2) | 2021.02.21 |
UNIT 9. 문자 자료형 사용하기 (0) | 2021.02.20 |