Computer Science/C\C++

[C언어] dptr을 이용해 *ptr1과 *ptr2 관계 서로 바꾸기

hyunjin 2021. 5. 10. 13:21

이중포인터를 이용해 포인터 관계 바꾸기

▷ 정수형 변수 n1과n2에값을 입력 받은 후, 각각 n1과n2의주소를 저 장하는 포인터 변수 ptr1, ptr2를선언

ptr1의주소를 저장하는 이중 포인터 dptr을선언

dptr만을 이용하여 관계바꾸기

ex)n1=10, n2=20일때 결과물은 *ptr1=20, *ptr2=10, **dptr=10이 나오게 관계를 바꿔줘야함

int main(void) {
	int n1, n2;
	int* ptr1, * ptr2;
	printf("Input n1, n2 : ");
	scanf_s("%d %d", &n1, &n2);

	ptr1 = &n1;
	ptr2 = &n2;

	int** dptr = &ptr1;

	*dptr = &n2;
	dptr = &ptr2;
	*dptr = &n1;

	printf("* ptr1 = % d\n", *ptr1); 
	printf("* ptr2 = % d\n", *ptr2); 
	printf("**dptr = % d\n", **dptr);

}