KDONG 2021. 7. 31. 15:11

학습내용

  • 매개변수
  • 다양한 인자 전달

학습목표

  • 함수의 매개변수 전달 방법에 대해 설명할 수 있다.
  • 매개변수로 포인터, 배열, 구조체 등을 전달하는 방법을 알고 사용할 수 있다.

 

매개변수

1. 개념 이해

  • 함수에 전달하는 값 [매개변수(Parameter), 인자(Argument)]
  • --> 함수 호출 시 함수로 값을 전달하는 목적으로 이용
  • 형식매개변수와 실매개변수
형식매개변수(Fomal Parameter)  실매개변수(Real Parameter)
함수 정의에서 기술되는 매개변수 목록 함수 호출에서 기술되는 값, 인자(Argument)

2. 호출방식

Call by Value(값에 의한 호출)
- 인자의 값을 함수 정의에 있는 매개변수로 복사해서 전달하는 방식

call by Reference(참조에 의한 호출)
- 인자의 참조값을 함수 정의에 있는 매개변수로 전달하는 방식
- 변수의 값을 복사해서 전달하는 대신 변수의 주소를 전달하는 방식

call by Reference(참조에 의한 호출)
- 호출된 함수에서 값을 호출한 곳으로 리턴의 용도로 사용 가능

 

다양한 인자 전달

1. 배열전달

 1) 배열은 포인터 전달 방법을 이용

 2) 함수의 매개변수는 배열의 원소에 대한 포인터형으로 선언

 

2. 구조체 전달

구조체 전달 시 포인터 전달의 장점
- 주소 보관을 위한 4바이트만 사용함

 

 

 

학습정리

1. 매개변수

  • 형식매개변수란 함수의 원형에 기술되는 매개변수 리스트를 말함
  • 실매개변수는 함수 호출 시 기술되는 매개변수를 말함
  • 값에 의한 호출은 값만을 전달하고 함수에서 복사해서 사용함
  • 참조에 의한 호출은 참조할 정보, 즉 주소를 전달하여 함수에서 주소로 참조하는 전달 방식임

2. 다양한 인자 전달

  • 배열을 함수의 매개변수로 전달할 때는 배열명을 전달하여 배열의 시작 주소가 전달되도록 함
  • 구조체는 구조체 자체를 전달하는 것보다 구조체 시작 주소를 전달하여 함수에서 주소로 참조하도록 하는 것이 좋음
  • 구조체나 구조체 배열을 참조에 의한 호출로 매개변수를 전달하면 메모리 사용에 유리함