thisdesuのブログ

C言語はじめました

にほんブログ村 IT技術ブログ C/C++へ

マクロ

プログラムを長く書き始めると、決まった値や簡単な書式を繰り返し書くのが面倒になったり、変えたい時に全部を変えなければいけなくて1つ忘れたら大変なことに。。。this is バグ. そんな時に定義(define)してしまいましょう。
使い方は同じですけど、一般的には値などは定数と呼び。計算式などマクロと呼んでます。※もしかしたら方言かもしれません。あしからず

#define 名前 値など
#define 名前(a) いろいろ(a)


プリプロで名前が値に置き換わるだけですので、コンパイルエラーには出てきませんので要注意

#include <stdio.h>

#define SHOHIZEI 8
#define KEISAN(a) (int)(a*1.08)

int main() {

  printf("shohizei:%d\n", SHOHIZEI );
  printf("keisan  :%d\n", KEISAN(100) );
}

 

$ gcc main.c
$ ./a.out
shohizei:8
keisan  :108