前回は、ソースコードの最初に記載する「#include」ついて見てみました。
さて、今回は「int main()」を見てみましょう。

新人Y子
3行目の「int main()」は何をしているのでしょう?

しげちゃん先生
これは「main」という関数の始まりを意味します。
関数はこの始まり行の次の4行目のカギカッコ「{」から、8行目の「}」までが1つのブロックになります。

新人Y子
3行目の「int main()」単独ではなく、3~8行目が1つの関数になるという事ですね。
しげちゃん先生
はい。
C言語では、「処理」は必ず関数の中に書く決まりになっています。
このサンプルでも例外なく、”Hello, World!”を出力する処理が、main関数の中に書かれていることが分かると思います。
しげちゃん先生
ちなみに、今回のサンプルは、main関数だけで完結していますが、通常は関数を分けて開発します。

新人Y子
なるほど。
関数の分け方はどうすればいいですか?
しげちゃん先生
分け方に、決まりはありません。
通常は、機能ごと分けたり、同じ処理を共通化する目的で分けることが多いです。
関数の分け方を考えることも、「設計」になると思いますので、頑張ってください。
新人Y子
自分で考えるわけですね。難しそう。
しげちゃん先生
関数は「階層」であることを理解すると良いです。
関数は上下関係があって、上位の関数が、下位の関数を呼び出し、下位の関数が終われば上位関数の呼び出した直後の命令に戻る動きをします。
中でも、main関数は、階層の最上位の関数となり、一般に「エントリーポイント」と呼ばれ、プログラムの最初に呼び出されますが、プログラム終了まで生き延びる寿命の一番長い関数になります。
新人Y子
なるほど~
main関数は、エントリーポイントすなわち入口ですが、出口でもあるのですね。
しげちゃん先生
それでは、宿題です。
次のsub1, sub2, mainの3つの関数で構成するプログラムがあります。
このプログラムを実行した結果(出力される文字)を答えてください。

新人Y子
難しそう・・・!?
テクトレージマン
次回に続く
0