함수라는 것은 전달인자가 있고 반환값이 있는 것입니다.

이것이 가장 간단한 형태의 함수고 수학에서도 이러한 함수를 봐왔을 것 입니다.

하지만, c언어에서는 유형이 4개가 있습니다.

1. 전달인자 있고, 반환값이 있다.

2. 전달인자 없고, 반환값이 있다.

3. 전달인자 있고, 반환값이 없다.

4. 전달인자 없고, 반환값이 없다.

이러한 4개의 유형이 존재합니다.

그래서 앞으로 한편에 하나의 유형씩 간단한 고찰을 합시다.

(제가 여러분들과 다른 점은 하나 있습니다. 아주 조금 경험이 있다는 것으로 저도 배우는 입장이라고 생각하시면 편하시리라고 생각이 됩니다.)

그러면 첫번째 유형을 보도록 합시다.

1. 모두 있는 경우

이것은 그냥 모두 있는 경우 입니다.

가장 간단한 형태의 함수이며 흔하디 흔한 가장 기본 형태의 함수라고도 할 수가 있다.

그러면 수학시간 함수라는 정의가 나오기 전에 더욱 간단한 것을 배웠는데 그 간단한 것을 함수로 정의해보도록 하겠습니다.

#include <stdio.h>

int duhagi(int num1, int num2) {

return num1+num2;

}

int main (void) {

int result;

result = duhagi(34, 57);

printf("덧셈결과 그 첫번째 : %d\n", result);

result = duhagi(56, 87);

printf("덧셈결과 그 두번째 : %d \n", result);

return 0;

}

이런 함수가 가능하다는 것입니다.

자 그러면 이게 어떻게 가능한 것인가?? 에 관하여 의문점을 풀어야 하는 게 아닐까 싶습니다.

먼저 2열에서 4열까지와 5열부터 12열 까지는 다른 함수입니다.

2~4열에서 이미 덧셈연산이 이루어진 상태로 

5~12열에 있던 result = duhagi(    ,    ); 이것을 통하여 이미 연산된 함수를 불러오는 것으로 많은 반복을 하는 것을 아주 간단하게 중복하여 적을 필요 없이 하게 됩니다.

여러분들은 이 예제만 보고 판단을 하시기 보다 규모가 큰 게임개발 환경에서 이것을 생각해보시는 것을 추천합니다.

물론 따로 함수로 빼지 않아도 개발은 가능할 것입니다.

하지만 더욱 더러워지고 복잡해지는 과정에서 불필요한 요소만 늘리는 셈이 되는 것이겠죠

이전 함수를 부르는 것으로 잠시 동안 이전 함수가 실행되고 다시 돌아오는 것 입니다.

이미 정의된 함수를 부르는 것으로 개발진들의 시간을 줄일 수 있게 되는 것입니다.

(아마 이런 곳에서 버그가 많이 나오지.... 특히 배그 철재가 총알 팅기는 사운드 만들다가 비브라늄 후라이팬 된 이유는 이런 이유지 않을까 하는.....)

아무튼 다음 시간에 이어서 하도록 하겠습니다.


2018/03/10 - [C] - 함수란...?



블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,