C/난정말C Programming을 공부한적이없다고요
Call By Value
레이드리안
2011. 8. 17. 16:01
Call By Value 란? 함수에 값을 넘겨줌(복사값을 전달함으로 원본값이 변하지않음)
단점: 값을 넘겨줄때마다 고비용. 복사손실 단점
void swap(int imsi_x, int imsi_y);
void main()
{
int x=10, y=20;
printf("함수호출전 x= %d, y=%d", x,y);
swap(x,y);
printf("함수호출후 x=%d, y=%d, x,y);
}
void swap(int imsi_x, int imsi_y)
{
int temp =0;
temp = imsi_x;
imsi_x = imsi_y;
imsi_y= temp;
printf("swap 함수안의 imsi_x = %d, imsi_y= %d", imsi_x,imsi_y);
}
첫번째 main 함수출력값: 10,20
두번째 swap 함수출력값: 20,10
세번째 main 함수출력값: 10,20
*swap 함수가 실행될때 main함수에선 10과 20이라는 값이 복사되어 넘어감.
swap함수가 끝나고 main함수로 돌아왔을때 값이 바뀌지 않음.