今回のC言語講座の内容はコメントとmain関数です。コメントに関してはプログラムには直接関係のない要素ですが、他人が書いたコードを読むときにコメントの存在を知らないと混乱することになるので勉強しておきましょう。
またmain関数についてはこれから毎回書くことになるので、この記事でしっかり学習しておきましょう。
前回の復習
C言語で書いたソースコードを実行するためにはコンパイラという翻訳してくれるものが必要という話をしました。これを用いて実行ファイルを作ることをコンパイルするというのでしたね。前回は実際にサンプルのソースコードをコンパイルしてもらいました。
今回の記事からは『C言語を書けるようになろう』という方向で進んでいきます。
コメント
この項目ではコメントについて学んでいきます。コメントというのはプログラムの処理が煩雑になって分かりづらくなってしまったり、後でコードを読み返す際のメモだったりを残すための機能です。コメントを使うことで、分かりづらい処理を日本語なんかで説明することができるというわけです。もちろんコメントに頼らずに分かりやすいコードを書くことは大切なので、複雑なコードにならないよう工夫できるなら工夫しましょう。
コメントがどういうものかわかったところで、ソースコード中にどうやってコメントを書くのかを説明していきます。C言語のコメントの書き方は大きく分けて2種類あります。試しにコメントを使ったソースコードを見てもらいましょう。
#include <stdio.h>
int main() {
printf("今日はやる気が出ないので休講\n"); //ここにコメントを書くことができます。
printf("あ、君たちレポートやっといて\n"); /*ここにコメントを書くことができます。*/
return 0;
}
実行結果
今日はやる気が出ないので休講
あ、君たちレポートやっといて
ソースコード中にコメントが書き込める場所というのは決まっています。『”//”の後ろに書く』または、『”/*”と”*/”の記号の間に書く』の2択です。どうしてソースコードにコメントを書き込むことができるのかというのを説明しておくと、C言語のコンパイラがソースコードを翻訳するときに、『”//”より後ろの部分』と『”/*”と”*/”の記号の間の部分』を無視するという作業を行なっているためです。
このルールをうまく使ったのがコメントアウトです。コメントアウトというのは、プログラムの一部をコメントにすることで処理をさせないという技になります。先ほどのサンプルコードで5行目をコメントアウトしてみましょう。
#include <stdio.h>
int main() {
printf("今日はやる気が出ないので休講\n"); //ここにコメントを書くことができます。
//printf("あ、君たちレポートやっといて\n"); /*ここにコメントを書くことができます。*/
return 0;
}
実行結果
今日はやる気が出ないので休講
コメントアウトをしたことで上のサンプルコードを実行した際には出力された『あ、君たちレポートやっといて』が表示されなくなりました。ソースコードの一部をコメントにすることは、バグが発生している場所を特定する際にも使える場合があるので覚えておいて損はないです。
最初のサンプルコードでコメントの書き方には2通りあることをお話ししましたが、この2つのコメント機能ってどう使い分けるのって疑問に答えていませんでした。
2つのコメントの書き方の違いは複数行のコメントができるかどうかしか違いがありません。”/*”と”*/”で囲む方は複数行のコメントに対応していて、”//”の方はその複数行にわたってコメントを書くことができません。
私の場合は、ある程度の処理の塊で”/*”と”*/”を使って説明して、細かいところにちょこっと書くだけなら”//”を使って書くようにしています。書き方は特に指定ががなければ好きなように書けば良いと思います。
目立つように以下のように書く人もいます!!
//////////////////
//コメント記述
//////////////////
コメントとは、ソースコード中で複雑な処理をしている箇所に処理の内容やメモを書き残す機能のことを指し、コメントを記述する際には、”//コメント記述エリア”や”/*コメント記述エリア*/”を用いる。
コメントアウトとは、コンパイラがコードを翻訳するときにコメント部分を無視することを利用して、ソースコードの一部をコメント化して実行させないようにすることを指す。
main関数
この項目ではコメントについて勉強するときに示したサンプルコードの中に登場していたmain関数について学んでいきます。main関数について理解するためには、先にプログラミングにおける関数というものについて知っておく必要があるので、まずは関数についてお話をします。
プログラミングに馴染みがない人は関数と聞くと数学の授業で習ったものを想像すると思います。数学で出てきた関数というものは変数に値を代入すると計算結果が得られるものでした。プログラミングにおける関数というものも本質的な仕組みは同じで、ある値を関数に通すと結果的に何かしてくれる仕組みをもつ物です。
関数について何となくイメージを持ってもらったところで、main関数についての勉強に入っていきましょう。main関数とはプログラムの開始場所を表しており、プログラムが実行された時に行って欲しい処理をmain関数の中に書くことで意図した動作をさせることができます。
もう少し正確にいうならプログラムはmain関数を最初に呼び出して実行しています。そのためmain関数の中に実行してもらいたい処理を書いておけば、main関数の機能として実装できることがわかります。
『ここまではmain関数ってこんな感じだよ』みたいなお話しかしていなかったので、ここからは具体的にソースコードでmain関数というものを見ていきましょう。
#include <stdio.h>
int main() {
//処理を書き込めます
return 0;
}
実行結果
早速コメントを使っています。当サイトのC言語講座の記事に出てくるサンプルコードには、たまに説明のためにコメントを入れることがあります。
上記の形がmain関数の基本形になります。コメントがある部分にソースコードを書き加えていくことで処理を実装することができ、”{“から”return 0;”の手前まで書き込めます。『return 0;』の部分は現在実行している関数の処理を終了して、関数の呼び出し元に0を返すということを行うための命令ですが、これについては自作関数【C言語講座 #12】の記事で詳しく扱うので今は理解できなくても大丈夫です。
上記のコードにはまだまだ説明してない文法が含まれているので、それらを勉強するまではmain関数の基本形については『そういうもの』として扱います。後々の記事で自作関数やプリプロセス指令というものについて勉強して初めて全部の意味がわかるようになるので楽しみにしておいて下さい。(面倒くさい人はそのまま丸暗記してもらっても構いません。(1行目は疑似命令(プリプロセッサ指令)を、3行目は自作関数を勉強した後に理解できるようになると思います))
プログラミングにおける関数とは、ある値を渡すと何か処理をしてくれる仕組みのことを指す。
main関数とは、プログラムが実行される際に最初に呼び出される関数で、main関数の中に実行して欲しい処理を書いていくことになる。基本的な形は以下のようになっている。
#include <stdio.h>
int main() {
return 0;
}
まとめ
この記事ではコメントとmain関数について勉強しました。今回の記事で学んだことをざっと振り返ってみましょう。
- コメントとはソースコードが煩雑になった際に処理の内容をわかりやすくするためのメモを残して置ける機能のことである。
- ソースコードがコンパイルされる時にコメントが無視される仕組みをうまく利用してコードを実行させないようにする方法をコメントアウトと呼ぶ。
- プログラムは最初にmain関数を呼び出すことから、実行させたい処理はmain関数の中に書く。
次回は、文やブロック、インデントなどのプログラミングの概念的なものとprintf関数を用いた出力について学んでいきましょう。
最後まで記事を見ていただきありがとうございます。また別の記事でお会いできることを祈っております。