众所周知;在C语言里面用const;是可以修改的;
//C语言里面可以通过指针修改 int main() { //可以这么说在C语言中a是一个只读的常量。按照理论我们不好修改// const int a=10;
printf("%x",&a);//c语言里面的 常量a是可以去地址的。 int *p=null; p=(int *)&a; //但是可以通过地址修改 *p=11; printf("修改之后%d",a); }
这里面的a是可以修改的;
但是看下面的 c++里面的
而且在c++里面,是可以这样子定义的。
//c++编译器在编译期间就把他放到符号表里面 //根据上面得到a是一个真正的常量。 int const a = 10; int const b = 11; //在编译的时候就把长度给定下来了 // array [10+11]//里面肯定是个常量;c++编译的时候已经固定长度 //所以这样子也可以的,但是在c语言里面不可以 int array[a + b] = { 0 };如果小弟有解释不合理的话,可以留言评论,因为小弟也是新人;
原文地址:http://blog.csdn.net/crazyspopcorn_qian/article/details/24685809