-
23장. 포인터의 포인터, 포인터배열) 문제 23-2 [이중 포인터를 이용한 포인터 관계 변경하기]IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:10
<2016. 9. 26. 21:09>
23장. 포인터의 포인터, 포인터배열) 문제 23-2 [이중 포인터를 이용한 포인터 관계 변경하기]
/* 먼저 예시를 하나 제시. int main(void) { int n1 = 100; int n2 = 200; int * ptr1 = &n1; int * ptr2 = &n2; int ** dptr = &ptr1; printf(" *ptr1 = %d \n", *ptr1); printf(" *ptr2 = %d \n", *ptr2); printf(" **ptr = %d \n", **dptr); system("pause"); return 0; } 위 예제의 결과는 다음과 같다. *ptr1 = 100 *ptr2 = 200 **dptr = 100 =========================== 코드를 삭제/변경 없이 추가만 하여 n1 - ptr1 - dptr n2 - ptr2 의 관계에서 n1 - ptr2 - dptr n2 - ptr1 의 관계로 바뀌게끔 만들어라 */ #include<stdio.h> #include<stdlib.h> int main(void) { int n1 = 100; int n2 = 200; int * ptr1 = &n1; int * ptr2 = &n2; int * middle = NULL; //추가된 코드 int ** dptr = &ptr1; printf(" *ptr1 = %d \n", *ptr1); printf(" *ptr2 = %d \n", *ptr2); printf(" **ptr = %d \n", **dptr); //아래는 추가된 코드 middle = ptr1; ptr1 = ptr2; ptr2 = middle; dptr = &ptr2; printf("======변경========\n"); printf(" *ptr1 = %d \n", *ptr1); printf(" *ptr2 = %d \n", *ptr2); printf(" **ptr = %d \n", **dptr); system("pause"); return 0; }
'IT > 솔루션) 난 정말C... 없다구요' 카테고리의 다른 글
24장. 배열과 포인터, 포인터 연산) 문제 24-1 [포인터 덧셈 뺄셈 연산] - 2 (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-1 [포인터 덧셈 뺄셈 연산] - 1 (0) 2019.04.18 23장. 포인터의 포인터, 포인터배열) 문제 23-1 [이중 포인터와 삼중 포인터] (0) 2019.04.18 22장. 포인터의 개념적인 이해) 문제 22-4 [포인터의 이해도 확인하기] - 2 (0) 2019.04.18 22장. 포인터의 개념적인 이해) 문제 22-4 [포인터의 이해도 확인하기] - 1 (0) 2019.04.18