一、const 只是指明后面的变量初始化后不能被赋值。这只是编译时刻的限制。也就是说,
a基本上是一个普通的变量,只是compiler在检查你的代码有没有对它赋值。
二、
1) const int a;
2) int const a;
3) const int *a;
4) int * const a;
5) int const * const a;
1,2------的作用是一样,a是一个常整型数。
3--------意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。
4--------意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。
5--------最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。
这些都是查到的信息