언어/C

포인터를 가리키는 포인터

이게될까 2023. 11. 17. 18:13
728x90
728x90
void pswap(int**, int**);
int main() {
	int a, b, c, d;
	unsigned int r;
	scanf("%d %d ", &a, &b);
	int* px = &a, *py= &b;
	pswap(&px,&py);
	
	printf("%d %d", *px,*py);

}
void pswap(int** x, int** y) {
	int *tmp = NULL;
	tmp = *x;
	*x = *y;
	*y = tmp;
}

음 따로 설명할 만한 것은 없지만 함수에 넘겨주는 &px는 px의 주소를 보내는 것이고 함수 내에선 px의 포인터를 서로 바꿔주는 것이라 바뀐 값이 나온다.

ex 

1 5     ->    5  1

728x90