작성
·
265
1
void swap(int* u, int* v) {
printf("%p %p\n", u, v);
int temp = *u;
*u = *v;
*v = temp;
}
이런식으로 되어있는데 u와 v에 &기호를 붙혀주면 a, b 와 주소가 다르게 나오는데 어떤 주소인지 잘 모르겠습니다..
답변 1
1
안녕하세요, 답변 도우미 Soobak 입니다.
&u
와 &v
는 각각 u
와 v
라는 포인터 변수 자체의 주소를 나타냅니다.
즉, u
와 v
가 가리키는 주소가 아니라, u
와 v
라는 포인터 변수가 메모리에 저장된 위치를 나타내는 것입니다.
보다 자세한 내용은 강의 10.12 포인터에 대한 포인터(2중 포인터)의 작동 원리 에서 학습하시게 됩니다.