소년코딩

01.05 - 함수 매개 변수 및 인수 (function parameters and arguments)

이전 포스트에서 함수가 반환 값을 통해 호출자에게 값을 반환할 수 있다는 걸 공부했다.

많은 경우, 호출할 함수에 정보를 전달하여 함수가 사용할 데이터를 가지는 것은 유용하다. 예를 들어 두 개의 숫자를 더하는 함수를 작성하려면 함수를 호출할 때 두 개의 숫자를 추가하는 방법이 필요하다. 함수 매개 변수와 인수를 사용해서 추가할 수 있다.

함수 매개 변수(function parameter)

함수 매개 변수(function parameter)는 함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수를 의미한다. 함수 매개 변수는 함수 이름 뒤의 괄호 사이에 여러 매개 변수가 쉼표로 구분되어 놓인다.

// 이 함수는 매개 변수(parameter)가 없다.
// 호출자는 아무것도 전달하지 않아도 된다.
void doPrint()
{
    std::cout << "In doPrint()" << std::endl;
}

// 이 함수는 x라는 하나의 정수 매개 변수가 있다.
// 호출자는 x값을 전달해야 한다.
void printValue(int x)
{
    std::cout << x  << std::endl;
}

// 이 함수에는 두 개의 정수 매개 변수가 있다.
// 호출자는 x, y값을 전달해야 한다.
int add(int x, int y)
{
    return x + y;
}

인수(argument)

인수(argument)는 함수 호출이 수행될 때 호출자에서 함수로 전달하는 값이다.

printValue(6); // 6은 printValue() 함수로 전달되는 인수다.
add(2, 3);     // 2 와 3은 add() 함수로 전달되는 인수다.

여러 인수는 쉼표로 구분된다. 인수의 수는 함수 매개 변수 수와 일치해야 한다. 그렇지 않으면 컴파일러에서 오류가 발생한다.


매개 변수와 인수를 함께 사용하는 방법

매개 변수를 데이터 입력으로 사용하여 계산을 수행하고, 호출자에게 값을 반환하는 함수를 만들 수 있다.

#include <iostream>

// add() 함수는 두 개의 정수를 매개 변수로 사용하여 그 합계의 결과를 반환한다.
// x와 y의 값은 add() 함수를 호출하는 함수에 의해 결정된다.
int add(int x, int y)
{
    return x + y;
}

int main()
{
    std::cout << add(4, 5) << std::endl; // 인수 4와 5는 add() 함수에 전달된다.
    return 0;
}

// 9

add() 함수가 호출되면 매개변수 x에는 값 4가 할당되고, 매개변수 y에는 값 5가 할당된다.

그런 다음 add() 함수는 x + y (값 9)를 평가하고 이 값을 함수 main() 으로 반환한다. 이 9의 값은 콘솔 창에 출력되도록 cout으로 전송된다.


cpp 번역: 이 포스트의 원문은 http://www.learncpp.com/cpp-tutorial/1-4a-a-first-look-at-function-parameters/ 입니다.

댓글 로드 중…

블로그 정보

소년코딩 - 소년코딩

소년코딩, 자바스크립트, C++, 물리, 게임 코딩 이야기

최근에 게시된 이야기