#include<stdio.h>
//함수 원형
void swap(int ** dp1, int ** dp2);
int main(void)
{
int num1 = 10;
int num2 = 20;
printf("&num1-> %d, &num2-> %d\n", &num1, &num2);
int* ptr1 = NULL;//pointer
int* ptr2 = NULL;
ptr1 = &num1;
ptr2 = &num2;
printf("----------------------pointer-------------------------\n");
printf(" ptr1 == &num1 \n");
printf("*(prt1) == *(&num1) == num1\n");
printf(" ptr1-> %d / prt2-> %d\n", ptr1, ptr2);
printf("*ptr1-> %d / *ptr2-> %d\n", *ptr1, *ptr2);
printf("&ptr1-> %d / &ptr2-> %d\n", &ptr1, &ptr2);
printf("-------------------------------------------------------\n");
swap(&ptr1, &ptr2);
printf("*ptr1--> %d *ptr2--> %d\n", *ptr1, *ptr2);
return 0;
}
void swap(int ** dp1, int ** dp2)
{
printf("swap 전\n");
printf("dp1-> %d == &ptr1 dp2-> %d == &ptr2\n", dp1, dp2);
printf("*dp1 -> %d == ptr1 == &num1 *dp2 -> %d == ptr2 == &num2\n", *dp1, *dp2);
int *temp = *dp1;
printf("temp-> %d\n", temp);
printf("*dp1 -> %d *dp2 -> %d\n", *dp1, *dp2);
*dp1 = *dp2;
printf("*dp1 -> %d *dp2 -> %d\n", *dp1, *dp2);
*dp2 = temp;
printf("*dp1 -> %d *dp2 -> %d\n", *dp1, *dp2);
printf("-------------------------------------------------------\n");
}
'언어' 카테고리의 다른 글
naver 지식인 - 1 (2015/ 08/ 30) (0) | 2015.08.30 |
---|---|
2015_08_27 (0) | 2015.08.27 |
linkedlist_a + linkedlist_b (0) | 2015.08.25 |
linkedlist _ 오름차순 정렬 (0) | 2015.08.25 |
LOTTO_VER2 (0) | 2015.08.24 |