47.2 덧셈 함수 만들기
이번에는 매개변수를 사용하여 두 정수를 더한 결과를 반환하는 함수를 만들어보겠습니다. 함수에서 매개변수를 여러 개 사용하려면 각 매개변수를 , (콤마)로 구분합니다.
반환값자료형 함수이름(자료형 매개변수1, 자료형 매개변수2) { }
다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요.
add_function.c
#include <stdio.h> int add(int a, int b) // 반환값 자료형은 int, int형 매개변수 두 개 지정 { return a + b; // 매개변수 a와 b를 더한 결과를 반환 } int main() { int num1; num1 = add(10, 20); // 함수를 호출할 때 10과 20을 전달. 10과 20을 더한 값인 30이 반환됨 printf("%d\n", num1); // 30 return 0; }
실행 결과
30
먼저 함수를 정의할 때 괄호 안에 int a와 int b를 지정합니다. 이렇게 하면 함수를 호출했을 때 넣은 값이 a와 b에 순서대로 저장됩니다. 그리고 중괄호 안에서는 a와 b를 더하여 반환합니다.
int add(int a, int b) // 반환값 자료형은 int, int형 매개변수 두 개 지정 { return a + b; // 매개변수 a와 b를 더한 결과를 반환 }
함수를 호출할 때 괄호 안에 10과 20을 넣어주면 반환값으로 30이 나옵니다. 단, 함수에 정의된 매개변수 개수만큼 값을 넣어야 하며 적거나 많게 넣을 수는 없습니다.
num1 = add(10, 20); // 함수를 호출할 때 10과 20을 전달. 10과 20을 더한 값인 30이 반환됨
이처럼 매개변수를 사용해서 간단하게 두 정수를 더할 수 있습니다.
참고 | 매개변수, 파라미터, 인자, 인수, 아규먼트
프로그래밍을 배우다 보면 함수 안에 들어가는 값을 뜻하는 용어가 꽤 많다는 것을 알 수 있습니다. 여기서 각 용어는 미묘하게 차이가 있습니다.
- 매개변수, 파라미터(parameter), 형식 매개변수(formal parameter), 인자: 함수 바깥에서 전달된 값이 저장되는 변수를 뜻합니다.
// 매개변수 // ↓ ↓ int add(int a, int b) { return a + b; }
- 인수, 전달인자, 아규먼트(argument), 실행 전달인자(actual argument): 함수를 호출할 때 전달하는 값이나 변수를 뜻합니다.
// 인수 // ↓ ↓ add(10, 20);
즉, 따지고 보면 같은 변수나 값을 칭하지만 함수를 기준으로 봤을 때 용어가 다를 뿐입니다. 이런 차이가 있다는 점만 기억해두세요.
이 책에서는 매개변수와 인수를 구분해서 사용하겠습니다.