>>473
constは型修飾子なのでスコープが存在する。
主に、ある関数で引数として受け取った値を、不用意に変更しないように「その関数内に限り変更不可」の印を押すためのもの。
一方プリプロセッサによる置き換えはコンパイルの時点で定数として固定される。
つまり、プログラムの初めから終わりまで変わらない値を定義するなら、プリプロセッサによる置き換えを使うべき。