インクリメント演算子とデクリメント演算子

変数の値を 1 だけ増加させる、または 1 だけ減少させるという演算は、繰り返し処理や配列などの操作で利用されるため使われる機会が多いです。そのため 1 だけ増加させたり 1 だけ減少させる処理を簡単に記述できるようにインクリメント演算子とデクリメント演算子が用意されています。ここでは C 言語におけるインクリメント演算子とデクリメント演算子の使い方について解説します。

(Last modified: )

インクリメント演算子とデクリメント演算子

1 だけ増加したり 1 だけ減少させる演算を行うため専用の演算子が用意されています。 1 だけ増加させる演算子をインクリメント演算子と言い ++ を使います。また 1 だけ減少させる演算子をデクリメント演算子と言い -- を使います。

変数++
変数--

次の例を見てください。

int var1 = 8;
int var2 = 7;

var1++;
printf("var1 = %d\n", var1);

var2--;
printf("var2 = %d\n", var2);

上記では変数 var1 は 1 だけ増加していますので 9 となります。また変数 var2 は 1 だけ減少しているため 6 となります。

これをインクリメント演算子とデクリメント演算子を使わずに記述した場合は次のようになります。

int var1 = 8;
int var2 = 7;

var1 = var1 + 1;
printf("var1 = %d\n", var1);

var2 = var2 - 1;
printf("var2 = %d\n", var2);

どちらの記述方法でも結果は同じですが、 1 ずつ増加させる、または 1 ずつ減少させるという意味合いで使用する場合にはインクリメント演算子とデクリメント演算子を使った方がより簡潔で分かりやすい表記になります。

なおインクリメント演算子とデクリメント演算子については前置きと後置きの 2 種類が用意されています。詳しい使い方は「演算子の前置きと後置きについて」を参照されてください。

サンプルコード

それでは簡単なサンプルを作成します。

#include <stdio.h>

int main(void){
  int num = 8;

  printf("num = %d\n", num);

  num++;
  printf("num = %d\n", num);

  num--;
  printf("num = %d\n", num);

  return 0;
}

テキストエディタでプログラムを記述したあと sample.c という名前で保存します。(文字コードは UTF-8(BOM付き) です)。コマンドプロンプトを起動し、プログラムを保存したディレクトリへ移動したあとで最初にコンパイルを行います。

cl sample.c

インクリメント演算子とデクリメント演算子(1)

コンパイルが終わりましたら、次のように実行してください。

sample

インクリメント演算子とデクリメント演算子(2)

変数の値をインクリメント演算子を使って 1 増加させたあと、デクリメント演算子を使って 1 減少させました。

-- --

C 言語におけるインクリメント演算子とデクリメント演算子の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。