컴퓨터공학/메모리
포인터
도전하는일반인
2021. 9. 23. 23:52
들어가기 전에
앞서 배운 메모리 주소를 직접 관리하기는 쉽지 않을 수 있습니다. C에는 포인터 라는 개념을 통해서 변수의 주소를 쉽게 저장하고 접근할 수 있게 해줍니다. 포인터가 무엇인지, 어떻게 사용하는지에 대해 배워보겠습니다.
학습 목표
포인터 변수를 정의하고 사용할 수 있습니다.
핵심 단어
- 포인터
위 코드를 보면 정수형 변수 n에는 50이라는 값이 저장되어 있습니다.
그리고 *p라는 포인터 변수에 &n 이라는 값, 즉 변수 n의 주소를 저장합니다.
int *p 에서 p앞의 *는 이 변수가 포인터라는 의미이고, int 는 이 포인터가 int 타입의 변수를 가리킨다는 의미입니다.
따라서 첫 번째 printf문과 같이 포인터 p의 값, 즉 변수 n의 주소를 출력하거나, 두 번째 printft문과 같이 포인터 p가 가리키는 변수의 값, 즉 변수 n의 값을 출력할 수도 있습니다.
실제 컴퓨터 메모리에서 변수 p는 아래와 같이 저장될 수 있습니다.
하지만 아래 그림과 같이 실제로 p의 값, 즉 n의 주소값을 생각하지 않고, 추상적으로 단지 p가 n을 가리키고 있다는 것만 생각해도 됩니다.
이런 포인터를 기반으로 해서 앞으로 배울 다양한 데이터 구조를 정의하고 사용할 수 있습니다.
출처 : https://www.boostcourse.org/cs112/lecture/119028?isDesc=false 네이버커넥트재단