c언어소스코드좀요 swap함수요
영빈이
2023.04.01
질문 제목 : #includestdio.h
void swapintptr(int **p1,int **p2)
// 전달인자를포인터의포인터(포인터를가리키는포인터)로수정.
{
int *temp=*p1;
// *p1은p1이가리키는값즉인자로전달되는포인터그자체이다.
// 따라서포든p1과p2를모두각각*p1과*p2로수정해준다.
*p1=*p2;
*p2=temp;
}
intmain(void)
{
intnum1=10,num2=20;
int*ptr1,*ptr2;
ptr1=&num1,ptr2=&num2;
printf(*ptr1,*ptr2: %d %d \n,*ptr1,*ptr2);
swapintptr(&ptr1,&ptr2);
// 인자의타입이포인터의포인터이므로포인터자체의주솟값으로수정.
printf(*ptr1,**ptr2:%d %d \n,*ptr1,*ptr2);
return0;
}
여기서요 4번쨰줄 int *temp=*p1; 이거요
왜 int *temp=++p1; 이거는 안될까요.. 안되는이유를 모르겟어요