프로그래밍 초보자용 C 언어 입문 #1 함수1

마지막으로 한 일



지난번 그럼

이런 치고···


이렇게 되었다.

무슨 일이야?



C 언어는 main関数 를 실행합니다. 그런데 main関数 뭐야? 원래 関数 라고 뭐라고 하는 사람도 있을까.

기능



수학의 함수



중학 수학으로 돌아갑니다. 이런 것을 배웠지요?
$$y=ax$$
이런 녀석입니다. $x$가 정해지면 $y$도 정해진다고 하는 것이었습니다. 예를 들어, $a=3$이면 함수는 이렇게 됩니다.
$$y=3x$$
여기서 $x=5$로 하면 $y=3×5$가 되어 $y=15$가 되는 것입니다.
좀 더 확장해 봅시다. 고등학교 수학에 들어가서 $y=ax+b$라는 것을 생각해 봅시다. $a,b$는 상수입니다. 이것을 1차 함수라고 하는 것이었습니다. 즉 함수군요. 역시 $x$가 정해지면 $y$가 결정되는 것입니다. 조금 쓰는 법을 바꿔 봅시다.
f(x)=ax+b\\
y=f(x)

쓰는 것은 동일하지만 함수가 $f(x)$로 정의되었습니다. 다음 함수를 생각해 봅시다.
$$f(x)=-2x+9$$
그렇다면 $ x = 3 $ 일 때 어떻게 될 것입니다.
$$f(3)=-2×3+9=3$$
$x$에 3을 대입하고 함수 $f(x)$에서 계산 결과의 3이 반환되었습니다. 즉 함수는 ある入力に対し、その数に対してなんらかの処理をしその結果を返すもの 라고 생각할 수 있습니다.

프로그래밍의 함수



프로그래밍에서도 수학 함수와 거의 다르지 않습니다. 영어에서는 함수를 $function$라고 합니다. "기능, 작용"이라는 의미의 단어입니다. 프로그래밍에서는 이 의미대로, 入力などを基に、なんらかの機能を果たすモノ 라고 하는 바람에 생각합니다.

main 함수



그런데 C 언어에서는 main関数를 실행한다고 썼습니다. 또, 함수란 어떤 일을 하는 물건이었습니다. 즉, C언어(에 한하지 않고 다양한 언어)에서는 main 함수라는 역할이 쓰여진 물건을 움직이고 있는 것입니다.
마지막 프로그램의 main 함수를 살펴보겠습니다.
int main(void){
    printf("Hello Woirld!");

    return 0;
}

이것이 메인 함수입니다. 이 함수는 printf("Hello World!")를 실행하고 마지막에는 0을 반환한다는 것을 의미합니다.
그런데 이 printf 역시 함수입니다. 어떤 기능일까요? 또한 0을 반환하는 것은 무엇입니까?

printf



printf 함수는 입력된 것을 화면에 표시하는 함수입니다. 이번 입력은 Hello World! 이었으므로 이것이 표시된 것입니다.

return 0



이 main 함수는 마지막으로 0을 반환합니다.return 라는 처리를 실행하면 함수가 종료됩니다. 또한 main 함수에서 0이라는 것은 실행 결과이며 성공을 나타냅니다. main 함수는, 프로그램의 실행시, OS가 호출해 실행하고 있습니다만, 0을 돌려준다고 하는 것은 OS에 대해서 実行に成功したよ 라고 돌려주고 있는 것입니다.

함수 구현



함수입니다만, 어떤 기능의 것인가라고 하는 것을 제대로 구현(정의)해 줘야 합니다. 아까 당신도 함수의 구현을 하고 있었지요?
맞습니다. main 함수입니다. C 언어 프로그래밍이란, 초자연하게 말해 버리면 main関数の実装 를 하고 있을 뿐입니다. main 함수에서 다른 함수를 호출하는 것입니다.
또, printf의 구현도 당연히 해야 하는 것입니다. 하지만 기억하지 못하니? 맞습니다. 당신은 하지 않습니다. 실은 벌써 어딘가에서 되고 있는 것입니다. 어디 있니?
실은 stdio.h 라는 파일로 벌써 구현되고 있는 것입니다. 우리는 이미 구현되어 있는 함수를 이용하고 있었던 것이군요.

다음 번



비교적 길어졌으므로 분할합니다. 다음 번에는 스스로 함수를 만들겠습니다.

좋은 웹페이지 즐겨찾기