先の define 文には別の機能がある。それは、マクロ機能である。 マクロ機能を用いると、あたかも関数のように使いつつ、関数の ような引数の型に対する厳格なチェックを避ける事ができる。 マクロ機能は次のようにして使う。 但し、単なる置き換えであるために、いわゆる副作用と呼ばれる 問題が生じる事があり、注意が必要である。例えば、C言語には 二乗のための演算記号がないので、それを導入したいと考えた 場合、関数で実現しようとすると、整数・実数それぞれの場合に ついて関数を用意しなければならなくなる。マクロならば、次の 例のように整数・実数の区別なく導入が可能となる。