A.constって定数なの?(バキッ)
const int a=2;みたいに使うと、いかにも定数っていう感じがします。でも、
const int a=2; const int *b=&a; /* こっちが重要 */のように、ポインタにconst修飾子が付いていたらどうでしょう?
int c=5; b=&c;としたらどうでしょう。これでポインタbは、int型の変数cのアドレスを指し示します。そう、これで、ポインタbが指し示すアドレスに格納されている値は(変数cの値ですから)5に変わってしまうのです。このように、const修飾子が付いている場合でも、その値は変わるのです。もちろん、値の代入はできませんが・・・。
constって、変数を定数にするんじゃなくて、値の代入ができなくする修飾子なのではないでしょうか?