苦しんで覚えるC言語 2.2 書き方の慣習 P55 – P58

書き方の慣習

関数の書き方

C言語でのプログラムの書き方には慣習があります。
ルール上はエラーになりませんが、見やすさ、わかりやすさが表現された書き方があります。

以下の様な書き方をしたものについて、どちらが見やすいでしょうか?

<パターンA>

int main(void) {return 0;}

<パターンB>

int main(void)
{
    return 0;
}

どちらもコンパイルでエラーにはなりませんが、<パターンB>の方が分かりやすい、読みやすいと思います。
どこからどこまでが関数の処理範囲(2~4行目)なのかなど、各要素に分解した際に一つ一つの要素が鮮明である方が、プログラムが意味する処理内容がイメージしやすくなります。

インデント

「見やすい」書き方で特徴となるのは、return 0; の部分です。
{ }に対して、インデントが右側に半角で4つズレているのがわかります。

int main(void)
{
    return 0;
}

C言語では、関数内の処理は一括りとなるブロック毎にインデントを右側へズラして書く慣習があります。
今までに出てきていない少し複雑な処理を書きますが、いくつかのブロックが重なるとインデントを調整します。

int main(void)
{
    int i = 2;
    int n = 0;

    //①
    if(i == 2)
    {
    //②
        if(n == 0)
        {
            i = 0;
            n = 0; 
        }
    }

    return 0;
}

ここでは、処理の内容はわからなくても構わないのですが、 //①と//②の場所でインデントが異なります。
//②の方が//①よりも右にズレていますが、{ } が一つの処理の纏まりとして扱われるため、{ } の内側に{ } がある場合は、内側にある{ } に関する処理を全体的に右へズラして書く慣習があります。
この場合、//②の纏まりである、以下の処理ブロックが//①の処理ブロックよりも右へ半角で4つほどズラされて書かれています。

//②
if(n == 0)
{
    i = 0;
    n = 0; 
}

コメントの書き方

C言語ではコメントを以下のルールで書きます。
コメントと指定された文は、プログラム処理ではないものと扱われて無視されます。

int main(void)
{
    //ここはコメントです。1行がコメントとして認識されます。

    /* ここもコメントです。  */

  /* ここもコメントです。
    複数行に跨ってコメントとして認識されます。
  */
}

コメントを表す記号が2種類あります。
 ①・・・ // 
 ②・・・ /*  */

①は「スラッシュ×2つ」以降の文章は行末までコメントです。

②は「スラッシュ + アクタリスク ~ アクタリスク + スラッシュ」
で囲まれた範囲に書かれた文章はコメントです。

①は文末までの1行がコメント扱いになるのに対して、②は記号で囲まれた範囲がコメントになるので、行を跨いでコメント記載ができます。