안녕하세요, 대남이 입니다. 오늘은 기본적인 c언어의 함수와 매개변수와 인수가 각각 무엇인지 알아보겠습니다.

매개변수와 인수가 햇갈리는 경우가 있기때문에 확실히 알게되면 여러모로 편하실겁니다.

차례

1. 함수 정의하기

2. 매개변수와 인수

1. 함수 정의하기

함수 정의하는 방법은 간단합니다.

자료형 함수이름(매개변수) 

{ 함수 내용

   }

이와 같은 형태로 정의합니다. 그러면 함수를 이용하여

국어 점수 + 수학 점수 > 150점 이상일 경우 합격, 불합격을 통보하는 코드를 짜보겠습니다.

일단 전체적으로 보겠습니다. 국어 점수와 수학 점수에 해당하는 정수형 자료형 point1,2를 선언합니다.

그다음 scanf를 이용하여 국어,수학점수를 각각 입력하게 되고

조건문을 이용하여 점수의 합을 판단하게됩니다. 그러게 되면 150점 이상일 경우 합격을 통보하고

150점 미만일 경우 불합격을 통보하게됩니다.

여기서 if문을 보시면 plus라는 함수가 들어가있습니다.

정의한 함수를 보겠습니다.

int plus (int a, int b)

정수형 자료형의 함수이름은 plus 매개변수는 정수형 변수 a,b를 두가지를 받는다는 함수 입니다.

여기서 자료형을 int를 정했는데 그렇게되면 return값, 즉 반환값을 정수형으로 한다는 것 입니다.

만약 실수나 문자형으로 하고 싶다면 double, char로 바꿔주면 되겠죠?

상황에 맞게 하시면됩니다. void형으로 정희하면 반환값이 없는 함수가 됩니다.

즉 함수안의 코드 내용만을 쓰기위함입니다.

함수 내용을 보겠습니다.

int result; 라는 결과값을 반환할 정수를 선언합니다.

result = a + b; 로 매개변수 둘을 더한 값으로 정희하면

함수가 실행되면 두 매개변수를 더한 다음 결과값을 반환하므로

함수의 반환값은 인수로 보낸 두수를 더하고 반환하게됩니다.


(result 라는 자료형 선언없이

return a+b; 라고하면 더욱 간단하게 코딩하실 수 있습니다.

이해를 돕고자 좀 더 절차적인 코딩을 했습니다.)

-

2.매개변수와 인수

여기서 매개변수와 인수의 뜻을 정확히 알고 가셔야됩니다. 두 단어의 뜻은 크게 차이가 없어보이지만 엄연히 다릅니다.

사진과 함께 설명해보겠습니다.

빨간 줄이 그어져 있는 부분이 매개변수 입니다.

매개변수 : 함수 바깥에서 전달된 값이 저장되는 변수

빨간 줄이 그어져 있는 부분이 인수 입니다.

인수 : 함수를 호출할 때 전달하는 값이나 변수

즉, 매개변수와 인수는 같지 않습니다. 매개변수는 인수의 값이 전달되어 똑같이 저장됩니다.

엄연히 다른 데이터가 됩니다. 매개변수는 휠발성 데이터와 같습니다.

함수에서 쓰인후에 함수가 끝나면 메모리도 사라집니다.

-

오늘은 함수를 정의하는 방법과 매개변수, 인수의 뜻과 차이점에 대해 알아보았습니다.

쉽게 설명하고자 포인터나 void자료형 함수 같은경우를 제외하고 쉬운 코드를 나타냈습니다.

이해가 되셨는지요? 다음에는 좀 더 유익학 정보와 글로 찾아뵙겠습니다. 감사합니다!

+ Recent posts