10. オブジェクト形式マクロ #define MAX 128 ● コンパイル前の処理(プリプロセッサ) ● プログラム中のMAXが128に置換される ● MAXIMAとか描いても128IMAにはならない int array[MAX]; // => int array[128]; int r = MAXIMA; // => int r = MAXIMA; 11. 関数形式マクロ #define SQR(x) x * x ● 関数っぽく置換される ● 本当にただ「置き換えるだけ」 int area = SQR(side); // => int area = side * side; int x = SQR(a + b); // => int x = a + b * a + b; 12. 関数形式マクロ #define SQR(x) (x) * (x) ● 引数を()でくくると防げる ● 副作
![競技プログラミングにおけるコードの書き方とその利便性](https://cdn-ak-scissors.b.st-hatena.com/image/square/a5209136d822f4770033b4b41a3c234abd7426d2/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Frandom-170201062731-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)