## によるトークンの結合
マクロの定義と定義解除:インデックス への移動
2 つのトークンを ## で分けて記述する(## の前後にホワイトスペースがあってもよい)ことにより,その 2 つのトークンを結合(マージ)することができます。プリプロセッサはホワイトスペースと ## を除去し,分かれている 2 つのトークンを 1 つの新しいトークンにまとめます。これを使って,識別子を組み立てることができます。
次の定義があると,
#define VAR(i, j) (i##j)
VAR(x, 6) という呼び出しは (x6) に展開されます。これを使うと,(i/**/j) を使った移植性の低い旧式の方法を置き換えることができます。