swap

언어2015. 8. 27. 00:20

#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