【C言語講座】3章後編:おまなじないは誰でも理解できる『int main(void)』『return 0;』

C言語講座


こんちゃっす。ひろちょんです。

書籍や、授業でC言語を勉強していると急にこんな『おまじない』が出てきますよね?

#include<stdio.h>

int main(void){

    return 0;
}
図1 赤字で示したのが今回解説するおまじない

急に『おまじない』なんて言われてもモヤモヤしませんでしたか?

『僕はめちゃくちゃモヤモヤしました。』

これ実は超簡単で、

《{ }外からは何も受け取らずに、{ }外に数字の0を返す》という動作をしているだけなんです。

今回はint main(void)return 0;について具体的に解説していきたいと思います。

それでは目次です。

  1. おまじないではない。【役割がある】
  2. わかりやすくプログラムの流れを見ていく
  3. おまじない編のまとめ

スポンサードサーチ

おまじないではない。【役割がある】

not1

図1で示したプログラムの名前はおまじないでは無くそれぞれのプログラムに役割があります。今回は図1のint main(void)return 0;を説明していきたいと思います。
#include<stdio.h>は前回の記事にて説明しています↓

まず↓の図を見て頂きたいです。
japacode
おまじない達をそれぞれ日本語にしてみました。

上図にプログラムを関連付けるとこのようになります。

これでやっと名前が、おまじないではなくなりましたね!(笑)ではでは!個々の役割を紹介していきます!

データ型 int

ここでのデータ型とは、『メイン関数内の戻り値にて渡す値のカテゴリをあらかじめ決める。』という役割をします。データ型の詳しい話もまたしようと思いますが、数あるデータ型の中から今回は戻り値としてint型(整数)を予約したということになります。

メイン関数 main( ){ }

関数と言ったら何かを入力すると何かが返ってくるもの前編にて解説しました。それはメイン関数も同じです。引数を( )内に入力して、戻り値を返しているものです。ただし普通の関数とは違って、{ }内で命令の内容を変えられるということです!※( )と{ }の使い分けに注意!

引数 void

引数を設定する場所になります。ここでメイン関数内に持ってくる値を設定するのですが、今回では『void』となっています。これは『引数として何も取ってこない』という意味になります。つまり何もしていない!

戻り値やで→ return ;

これは戻り値を渡すための文になります。つまり『returnの横に打っているのが戻り値です!』とメイン関数に伝えるための文ですね!

戻り値 0

最初にデータ型を定義しましたよね?そのデータ型(カテゴリー)内で戻り値として値を与えなければいけません。今回ではint型(整数)だったので、『整数である0を返した』ということです。※整数なので1でも2でも構いません。

大体の意味は理解できましたかね。それでは実際にプログラムの流れを見ていきましょう!

わかりやすくプログラムの流れを見ていく

order1

まずはこちらの図をご覧ください。
maink
それぞれのプログラムを赤字の吹き出しで指しています。とりあえず流れとしては、矢印の方向に進んでいくような感じです。

プログラムの気持ちになって会話してみよう!

⓪なんか準備せんでいい?

include<stdio.h>。(訳:標準入出力のヘッダファイル欲しい。)

①戻り値でなにくれるの!?

int。(訳:う~ん、整数系かなぁ)

②今から何するつもり!?

main。(訳:メインの関数実行していくでぇ~)

③メイン関数内に引数いる?

いいえ。void。(訳:何もいりません。)

④メイン関数終わるけど、終わっていい?

return。(訳:まって!いまから戻り値出すでぇ~~)

⑤整数系言ってたけど何くれるのかなぁ…

0。(訳:せいすうのぜろあげる)

もう一度ソースプログラムを見てみる!

#include<stdio.h>

int main(void){

    return 0;
}
図2 ソースプログラム

どうでしょうか!だいぶ馴染んで来たのではないでしょうか?やはり何も知らない状態で使うより、少しでもわかっている状態で使う方がいいですよね!

プログラムの気持ちで会話することはできましたか?(笑)できたならもうあなたは正真正銘のプログラマーです!
さて、これでおまじないという言葉を使わせないための説明は以上になります。まとめにいきますね!

スポンサードサーチ

おまじない編のまとめ

僕がこの前編後編で伝えてきたかったのは、おまじないを理解して欲しいということもありますが、多くは

『ソースコード一つ一つに意味があり、何らかの処理をしていることを感じ取ってもらう』

ことにあります。C言語の良さというのは、一つ一つの処理を細かいところまで命令できることです。これによって無駄な処理を省き、プログラムの高速化が図ることができます。ですがこの良さを引き出すためには、ソースプログラムの一つ一つの理解が非常に重要となってきます。一つでも理解を省いてしまうと、あとに響いてきて、ズラズラっと崩れてきてしまいます。
なので!ソースコード一つ一つに対して『これは何を意味するのかな?』ということを常に考えながら、これからも学んで欲しいと思います。


最後まで見て頂きありがとうございました!何か気になることなどありましたら、気軽にお問い合わせください。
↓に続編が完成したらリンクを載せておきます。

では、また~