포인터·20 / 22

포인터 — 주소로 원본 바꾸기

&x는 변수 x가 있는 자리(주소)를 뜻하고, *p는 그 자리에 담긴 값입니다. 함수에 값을 그대로 넘기면 복사본이라 원본은 안 바뀌지만, 주소를 넘기면 함수 안에서 원본을 바꿀 수 있습니다.

void addBonus(int *score) {
    *score = *score + 10;
}

int point = 50;
addBonus(&point);   // point 가 60 이 된다

int *p*는 "포인터다"라는 표시이고, *p*는 "가리키는 값을 꺼내라"는 뜻입니다.

할 일

a와 b가 가리키는 값을 맞바꾸세요

막혔나요?
코드 에디터