반응형

Call by Value

#include <stdio.h>

void swap(int a, int b);

int main()
{
 int val1 = 10;
 int val2 = 20;
 swap(val1,val2);          // swap 호출 프린트문 출력

 // main val1,val2값 출력 변동 없음
 
 printf("val1 : %d\n",val1);       
 printf("val2 : %d\n",val2);

return 0;
}

void swap(int a, int b)
{
 int temp = a;              // a 를 temp에 저장해 둠

 a = b;                     // a 를 b 로 바꿈
 b = temp;                  // b 는 temp 즉 a값으로 변경

 printf("a : %d \n",a);
 printf("b : %d \n",b);
}

 

------------------------------------------------------------

 


Call by Refrence

#include <stdio.h>

void swap(int *a, int *b);

int main()
{
 int val1 = 10;
 int val2 = 20;
 
 swap(&val1,&val2);

 printf("val1 : %d\n",val1);
 printf("val2 : %d\n",val2);

 return 0;
}

void swap(int *a, int *b)
{
 int temp = *a;

 *a = *b;
 *b = temp;

 printf("a : %d \n",*a);
 printf("b : %d \n",*b);
}

 

 

반응형
Posted by 공간사랑
,