-
[C Language] 24. 함수 - 참조에 의한 호출(Call By Reference) - C 언어CSE/C Language 2015. 6. 13. 10:21
값에 의한 호출이 '복사'라는 중요한 개념을 가지고 있다면, 참조에 의한 호출(Call By Reference)는 '참조'라는 중요한 개념을 가지고 있다.
아래 예제를 통해 이전 장에서 값을 바꾸는 예제를 참조를 통한 예제로 확인하자.
123456789101112131415161718192021222324252627282930313233343536373839/** rSwap.c** Created on: 2015. 5. 17.* Author: root*/#include <stdio.h>void swap(int *, int *);int main(void) {int x = 7, y = 5;puts("Inside main() function");printf("1. x = %d, y = %d\n", x, y);swap(&x, &y);puts("Inside main() function");printf("2. x = %d, y = %d", x, y);return 0;}void swap(int *x, int *y) {int tmp;tmp = *x;*x = *y;*y = tmp;puts("Inside swap() function");printf("3. x = %d, y = %d\n", *x, *y);}cs 이전의 예제와는 다르게 메인함수에서의 x, y 값 출력결과 값이 바뀌었다는 것을 확인 할 수 있다.
이렇게 참조 값을 통해 원본 값을 통한 연산이 가능하다는 것을 확인 할 수 있다.
* Programming in C 서적을 참고하여 작성하였습니다
'CSE > C Language' 카테고리의 다른 글
[C Language] 27. 시간함수 - C 언어 (0) 2015.07.16 [C Language] 26. 함수 - 재귀함수(Recursive) - C 언어 (0) 2015.06.13 [C Language] 25. 함수 - 리턴 값 여러 개 받기 - C 언어 (0) 2015.06.13 [C Language] 23. 함수 - 값에 의한 호출(Call By Value) - C 언어 (0) 2015.06.13 [C Language] 22. 함수(function)의 기본 - C 언어 (0) 2015.06.13 [C Language] 21. 함수(function)란? - C 언어 (0) 2015.06.13