옵션 |
|
#include <stdio.h>
1 void SwapIntPtr(int **p1,int **p2)
2 {
3 int *temp=*p1;
4 *p1=*p2;
5 *p2=temp;
6 }
7 int main()
8 {
9 int num1=10,num2=20;
10 int *ptr1,*ptr2;
11 ptr1=&num1, ptr2=&num2;
12 printf("*ptr1, *ptr2: %d %d\n",*ptr1,*ptr2);
13 SwapIntPtr(&ptr1,&ptr2);
14 printf("*ptr1, *ptr2: %d %d \n",*ptr1,*ptr2);
15 return 0;
}
질문드립니다
더블포인터를 이용해 포인터변수의 스왑 함수코드입니다.
왜 더블포인터를 이용해야하는지는 이해가 가는데 스왑함수에서 3행 *temp와 5행의 *p2=temp가 잘 이해가안가서
질문드립니다. 왜5행에서는 *temp를 사용안하고 3행에서만*temp를 사용하는건가요?ㅠㅠ
초보를위해 최대한 쉽게 설명좀 부탁드립니다.ㅜㅜ