C言語

インクリメント・デクリメント

演算子のひとつであるインクリメントとデクリメントについて解説していきます。
++の演算子をインクリメント。--の演算子をデクリメントといいます。

インクリメント・デクリメントの使い方

a++;
a = a + 1;
b--;
b = b - 1;

インクリメントとは、変数の値に1を加算する演算のことです。1行目の記述が該当します。
また、1行目のインクリメントと、2行目の式は同じ意味です。
デクリメントとは、変数の値に1を減算する演算のことです。3行目の記述が該当します。
また、3行目のデクリメントと、4行目の式は同じ意味です。

前置と後置

次のようにインクリメントは、どちらの書き方でも同じです。また、デクリメントも同様です。

a++;
++a;

1行目のように++が後になっているものが後置インクリメントといい、++が前になっているものが前置インクリメントといいます。
どちらも同じなのですが、処理結果が異なる場合があります。
結果が異なる例を次に示します。

int a = 0;
int b = 0;
int number1 = 0;
int number2 = 0;
number1 = a++;
number2 = ++b;

5行目の後置を使ったインクリメントでは、number に a を代入してから a の値に1を加算します。
6行目の前置を使ったインクリメントでは、b の値に1を加算した後に、b の値をnumber に代入します。
この結果、number1 は、0 となりますが、number2 は、1になります。
このように処理結果が異なることがあるので注意が必要です。

以上が、インクリメント・デクリメント演算子について解説しました。

-C言語