コメントとmain関数【C言語講座 #2】

コメントとmain関数【C言語講座 #2】

今回のC言語講座の内容はコメントmain関数です。コメントに関してはプログラムには直接関係のない要素ですが、他人が書いたコードを読むときにコメントの存在を知らないと混乱することになるので勉強しておきましょう。

またmain関数についてはこれから毎回書くことになるので、この記事でしっかり学習しておきましょう。

わからない部分があれば記事の質の向上のためにも教えて頂けると助かります。

前回の復習

C言語で書いたソースコードを実行するためにはコンパイラという翻訳してくれるものが必要でしたね。これを用いて実行ファイルを作ることをコンパイルするというのでした。このコンパイルする際には、gccコマンドを使うのでしたね。前回は実際にサンプルのソースコードをコンパイルしてもらいました。

今回の記事からは『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関数について理解するためには、プログラミングに置ける関数というものについて知っておく必要があるので、最初に関数についてお話をします。

プログラミングに馴染みがない人は関数と聞くと数学の授業で習ったものを想像すると思います。数学で出てきた関数というものは変数に値を代入すると計算結果が得られるものでした。プログラミングにおける関数というものも本質的な仕組みは同じで、ある値を関数に通すと結果的に何かしてくれる仕組みをもつ物です。自作関数【C言語講座 #12】で自作関数について勉強するので、それまではこれくらいのイメージを持ってもらえれば十分です。

関数について何となくイメージを持ってもらったところで、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関数を用いた出力について学んでいきましょう。


最後まで記事を見ていただきありがとうございます。また別の記事でお会いできることを祈っております。

Print Friendly, PDF & Email

C言語カテゴリの最新記事