방통대/C프로그래밍

7-1 매개변수 사이의 자료 전달

꿈꾸는 몽나 2024. 4. 1. 20:56
728x90

 

값에 의한 자료전달

: 기본적인 자료전달 방법

: 실 매개변수와 형식 매개변수 사이에 값의 전달

: 호출한 함수의 실행이 끝난 다음 전달받은 값을 되돌려 받지는 못한다.

 

형식)

 

 

ex)

swap(a, b);   : 함수 호출

int temp;    temp=x;   x=y;   y=temp;      : 두 변수 a와 b의 값을 서로 바꿈

 

 

출력)

호출전 : a=3, b=5

함수내 : x=5, y=3

호출후 : a=3, b=5

 

 

자료전달 과정)

 

 

참조에 의한 자료전달

: 호출함수와 피 호출함수의 매개변수 값을 서로 교환할 수 있는 자료전달 방법

: 값을 전달하는 것이 아니라 실 매개변수의 값이 들어있는 주소 값이 전달된다.

 

 

형식)

& : 주소연산자

* : 내용

 

 

 

ex)

swap(&a, &b);  // 주소 값을 전달하기 위해 실 매개변수 앞에 주소 연산자 &를 붙임

void swap(int *x, int *y)   // 주소값을 전달받기 위해 포인터변수 int *x, int *y를 선언

int temp;   temp=*x;   *x=*y;   *y=temp;   // 두 변수 a와 b의 주소의 내용을 서로 바꿈

 

 

 

출력)

호출전 : a=3, b=5

함수내 : x=5, y=3

호출후 : a=5, b=3

 

 

자료전달 과정)

728x90