전에 '선언과 정의'편에서 add 다음 괄호 안에 int a, int b가 있었죠? 네. 그게 바로 매개변수입니다. 매개변수는 그 함수 안에서만 쓰는 지역변수(자세한 건 댓글란에 알려드릴게요)입니다. 그 변수를 가지고 함수에서 일을 한 다음에 값을 반환합니다. 그런데 여기에서 매개변수를 선언했을 때는 함수를 선언할 때도 그 매개변수에 값을 입력해주어야 합니다. 예시를 들어볼게요
#include <stdio.h> #include <stdlib.h> int add(int x, int y){return x + y;} int main(){ int a, b; scanf("%d %d", &a, &b); printf("%d", add(a, b)); }
main함수에서 함수 add를 선언할 때 안에 변수를 넣어줬죠? add의 선언에서 int형 변수 또는 상수 2개를 달라고 해서 그렇습니다. 여기 괄호 안에 이런 변수 뿐만 아니라 일반적인 숫자도 넣을 수 있는데, 주의해야 할 점 1가지는 선언에 있는 매개변수의 형태와 main에서 함수를 선언할 때의 자료 형태가 같아야 한다는 것입니다. 잘 이해가 안 되실 수 있는데, 이 부분은 다시 한 번 복습해 보시는 것이 좋을 것 같습니다^^;