【C言語】関数の説明とmain関数から始まることを理解する【実際のコードあり】

【アイキャッチ】main関数

今回はC言語の中身についてご紹介していこうと思います。タイトルにもあるようにmain関数から始まることを理解しておかないと、学習していくうえで何度もつまづくことになります。

main関数について学ぶ以前に「C言語って何者??」と疑問に思う方は、以下の記事から読んでいただく方がいいかもしれません。

【アイキャッチ】C言語ってなに?

【C言語】自由度も難易度も高いC言語。コンパイルや拡張子も合わせてご紹介

2020年12月22日

関数とは?という所から説明していくのでゆっくりと理解していければ大丈夫です。

関数とは?

f:id:taiyoutan:20211105200127j:plain

プログラミングを学ぶうえでもとても重要な関数について、まずおさらいしておきましょう。

関数は義務教育でも確実に学ぶ内容ですが、みなさんご存知でしょうか?「よく分からない」「知っているけど説明できない」という人でも、すぐ理解できるようになるので大丈夫です。

Wikipediaによると

関数を言葉にして表してみると以下のような説明になります。

数学における関数(かんすう、英: function、仏: fonction、独: Funktion、 蘭: functie、羅: functio、函数とも書かれる)とは、かつては、ある変数に依存して決まる値あるいはその対応を表す式の事であった。この言葉はライプニッツによって導入された。その後定義が一般化されて行き、現代的には数の集合に値をとる写像の一種であると理解される。

関数 (数学) – Wikipedia

Wikipediaの説明で理解できれば万歳三唱ですが、難しいと思うのでもっと理解しやすく説明していきたいと思います。

つまり、関数とは自動販売機です

f:id:taiyoutan:20211105200908j:plain

道を歩けばすぐに見つかる自動販売機ですが、関数の説明としてよく利用されます。

ではさっそく、自動販売機で1本150円のコーラを買うときのことを考えてみましょう

自動販売機と関数
コーラ1本150円の自動販売機150円を入れる ⇒ コーラが出てくる
500円を入れる ⇒ コーラ1本と350円のおつりが出てくる

 

現金150円が同等の価値であるコーラに変わり、150円以上の現金(500円)を入れるとコーラ1本と350円分の小銭に変わります。自動販売機を通す前後で、同等の価値のものが形を変えて現れるのです。

このように、決まった仕組みをつくることが関数でありプログラミングなのです。

実際のプログラムを細かく解体

さて、やっと今回のタイトル、main関数についてです。実際のプログラムを見ながら解体していきます

以下、挨拶を表示するプログラムです。

#include <stdio.h> ・・・①
void morning (void) ・・・③
{
printf(“Good morning\n”); ・・・④
}
main () ・・・②
{
morning(); ・・・③
return 0; ・・・⑤
}

要点
① プリプロセサ命令
② 「main () { ~ }」はmain関数
③ morningメソッドを作成
④ printf();でメッセージを出力
⑤ 戻り値を指定

 

「#include」はプリプロセサ命令です。「printf」という処理を行えるように準備しています。

main関数の「main () { ~ }」はCプログラムの起点となり、プログラムにおいては常にmain関数から実行されます。Cのプログラムでは必ず一つのmain関数を定義します。

main関数内の「morning()」は、2行目の「void morning (void) { ~ }」を呼び出しています。

「printf(“Good morning\n”);」の「printf( ~ );」は「文字(Goodmorning)を画面に表示せよ」という処理を意味し、「\n」は改行を意味しています。

main関数内の「return 0;」は戻り値(返り値)です。

流れとしてはこんな感じです。ちなみに「void」は「無い」という意味で、morning関数では型も引数も無いということです。

C言語はmain関数から始まる

プログラミングを学ぶうえでまず覚えるべきこととして、C言語内での決まり事があります。今回は少し細かい内容であるmain関数について記述いたしました

どれだけ長いプログラムになっても、main関数から始まることを意識しましょう。

乱数を使ったおみくじプログラム

【Java】乱数を使ったおみくじプログラムで分岐を学ぶ【初心者向け】

2021年1月13日

コメントを残す

メールアドレスが公開されることはありません。