【C言語】コメントアウトに使う「//」と「/* */」の違いとは?

この記事では、C言語におけるコメントアウトの2つの形式、 ///* */ の違いについて解説します。

コメントアウトの範囲やネスト、使い分けについて理解することで、プログラム内にメモや説明を書く際に効果的に活用することができます。

初心者の方にもわかりやすく解説していきますので、ぜひ最後までお読みください。

目次から探す

「//」と「/* */」の違い

プログラミングにおいて、コメントアウトはコード内にメモや説明を書くための重要な機能です。

C言語では、2つの主なコメントアウトの形式があります。

///* */ です。

この記事では、この2つの形式の違いについて詳しく解説します。

コメントアウトの範囲

まず、コメントアウトの範囲について見ていきましょう。

C言語では、 // を使ったコメントアウトは、その行の末尾までの範囲です。

つまり、その行の後ろにあるコードは無視されます。

例えば、以下のコードを見てみましょう。

int x = 10; // 変数xに10を代入

この場合、コメントアウトの部分以降の「// 変数xに10を代入」は無視されます。

一方、 /* */ を使ったコメントアウトは、複数行にまたがる範囲を指定することができます。

例えば、以下のコードを見てみましょう。

/* 
この部分はコメントアウトされています。
複数行にわたるコメントを書くことができます。
*/
int y = 20; // 変数yに20を代入

この場合、 /**/ で囲まれた部分がコメントアウトされ、その間のコードは無視されます。

コメントアウトのネスト

次に、コメントアウトのネストについて見ていきましょう。

コメントアウトのネストとは、コメントアウトの中に別のコメントアウトを含めることを指します。

// を使ったコメントアウトでは、ネストすることはできません。

つまり、以下のようなコードはエラーとなります。

// これは正しいコメントです
// // これはネストしたコメントです(エラー)

一方、 /* */ を使ったコメントアウトでは、ネストすることができます。

例えば、以下のコードを見てみましょう。

/* 
これは正しいコメントです
/* これはネストしたコメントです */
*/

この場合、外側の /**/ で囲まれた部分がコメントアウトされ、さらに内側の /**/ で囲まれた部分もコメントアウトされます。

コメントアウトの使い分け

最後に、コメントアウトの使い分けについて考えてみましょう。

一般的なルールとして、 // を使ったコメントアウトは、1行の短いコメントや一時的なコメントに使用されます。

一方、 /* */ を使ったコメントアウトは、複数行にわたるコメントや詳細な説明に使用されます。

例えば、以下のようなコードを見てみましょう。

int z = 30; // 変数zに30を代入
/*
以下のコードは一時的にコメントアウトされています
int a = 40; // 変数aに40を代入
*/
int b = 50; // 変数bに50を代入

この場合、 // を使ったコメントアウトは1行の短いコメントに使用されています。

一方、 /* */ を使ったコメントアウトは複数行にわたるコメントに使用されています。

以上が、 ///* */ の違いについての解説です。

コメントアウトの範囲やネスト、使い分けについて理解することで、効果的なコメントアウトの活用ができるようになります。

目次から探す