serversim
학습시뮬레이터템플릿가격
…
…
메뉴 열기
학습↗시뮬레이터↗템플릿↗가격↗
내 Documents문서
전체 목차/3장/3.114 / 40

3.1 · 메모리와 포인터

메모리의 본질과 포인터·참조

변수 이름 아래에는 실제로 무엇이 있을까요?

메모리는 번호가 붙은 바이트 칸이고 변수는 그 칸을 사람이 다루기 쉽게 붙인 이름입니다.

먼저 생활 비유

번호가 붙은 사물함

사물함 번호가 주소, 안의 물건이 값, 번호를 적은 쪽지가 포인터입니다.

컴퓨터 예제로 바꾸기

값과 주소

int age = 20;
int* p = &age;

age에는 20이 저장되고 p에는 age가 놓인 메모리 주소가 저장됩니다.

직접 움직여 보기1 / 5

지금 일어나는 변화

바이트 칸

메모리는 주소가 연속된 작은 저장 칸입니다.

주소와 저장 공간주소가 붙은 메모리 공간바이트 칸단계 1변수 age단계 2&age단계 3포인터 p단계 4*p단계 5주소 0x100현재: 바이트 칸

이 그림에서 기억할 한 문장

포인터는 값이 있는 장소를 가리키는 주소 값이고, 역참조는 그 장소로 따라가는 동작입니다.

현재 상태

이동하는 것
주소 0x100
현재 위치
바이트 칸
다음 위치
변수 age

30초 확인 문제

p가 age의 포인터라면 p에 저장된 것은?

처음 보는 용어 두 개

주소
메모리 칸을 구분하는 번호
역참조
포인터가 가진 주소의 실제 값에 접근하는 동작

이 절을 다 읽었다면

포인터는 값이 있는 장소를 가리키는 주소 값이고, 역참조는 그 장소로 따라가는 동작입니다.

← 이전 절

2.9 코드와 데이터는 어떻게 컨테이너·가상 머신까지 이어질까?

다음 절 →

3.2 프로세스의 가상 메모리는 어떻게 실제 RAM과 연결될까?