#include <stdio.h>
void swap(int *a, int *b);
int main()
{
int i = 10, j = 20;
printf("%d %d \n", i, j);
swap(&i, &j);
printf("%d %d \n", i, j);
return 0;
}
void swap(int *a, int *b)
{
int *temp;
temp = *a;
*a = *b;
*b = temp;
}
여기서 정의부를 잘 모르겠습니다. 일단 이 내용은 책에 있는 내용이구요, 제대로 컴파일도 됩니다.
제가 모르겠는 부분은 temp가 포인터변수가 되었으므로 대입을 받을 수 있는 것은 주소가 아니면 인식을 못하는 것이 아닌가요?
제 생각대로라면 temp = *a; 와 *b = temp; 는 되지 않는건데 오류가 없으니 혼란스럽네요 ㅠㅜ