wellcome_공부일기

01.04. C++ | 함수의 구조, 인자와 인수 차이점 본문

프로그래밍/C++

01.04. C++ | 함수의 구조, 인자와 인수 차이점

ma_heroine 2020. 4. 21. 09:20

<목차>

1. 함수(function)

2. 반환값(return value)

3. 인자(parameter, 매개변수)와 인수(argument​) 그리고 차이점

4. 예시 코드와 설명

5. 숫자 2개를 입력하면 더해서 출력해주는 프로그램 만들기

 

 

함수(function)란?

- 수학에서 함수는 변수에 input값을 넣으면 어떠한 특정 output이 나오도록 하는 구조를 가진다. 

- 프로그래밍에서 함수는 특정 작업을 수행하도록 설계된 명령문으로 호출(call)에 따른 output이 나오는 구조를 가지고 있다.

- 인수(argument)가지고 함수를 호출을 할 수 있으며, 호출 받은 함수는 인자(parameter)에 따른 출력값을 가진다. 

 

반환 값(return value)란?

- 프로그램의 전체적인 구조에서 확인했듯이 함수가 끝나면 해당 함수의 데이터 타입에 맞는 값을 반환해주는 것을 말한다. 

- 함수가 선언된 데이터 타입과 return이 반환하는 값의 데이터 타입은 같아야 한다.

- return을 통하지 않고 값을 출력하는 함수도 존재한다. 

 

인자(parameter, 매개변수)와 인수(argument) 그리고 차이점

- 함수의 인자(parameter)란 함수를 호출할 때 인수로 전달된 값을 함수 내부에서 사용할 수 있게 해주는 변수이다. 

- 함수의 인수(argument)란 함수가 호출될 때 함수로 값을 전달해주는 변수를 가리킨다.

- 대부분의 함수는 하나 이상의 매개변수를 가지며, 매개변수가 없는 함수도 존재한다.

 

4. 예시 코드와 설명

#include <iostream>

using namespace std;

int plus_function(int a, int b)//parameter
{
    int sum = a+b; //sum initialization
    
    return sum; 
}

int main(void)
{

    cout << plus_function(1,2) << endl; //argument
    cout << plus_function(3,4) << endl;
    cout << plus_function(8,13)<< endl;

    return 0;
}

- plus_function이 갖는 출력값이 " int " 데이터 타입으로 return 값도 " int " 데이터 타입이여야 한다. 

- plus_function의 파라미터(parameter)의 데이터 타입이 " int "임으로 인수(argument)도 " int " 데이터 타입이여야 한다. 

- return을 통하지 않고 값을 출력하는 함수도 존재한다. 

 

 

#include <iostream>

using namespace std;

void print()
{
    cout << "Hello world" << endl;
}


void sum(int a, int b)
{
	print();
	print();
}

int main()
{
    sum(1,2);

    return 0;
}

 

- 이러한 함수는 return을 통해 값을 출력하지 않으므로 함수명 앞에 " void "를 사용한다. 

- 또한 위 코드처럼 함수가 함수를 호출하는 것은 무한대로 가능하다. 

 

 

5. 숫자 2개를 입력하면 더해서 출력해주는 프로그램 만들기

#include <iostream>

using namespace std;

int sum(int a, int b)
{
    int sum = a +b;
    
    return sum;
}

int main (void)
{
    int x, y;

    cin >> x >> y;
    cout << sum(x,y) << endl;
    
    return 0;
}

 

 

 

 

 

 

 

 

Comments