C++和c语言内里的const有什么区别
众所周知;在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 };
假如小弟有表明不公道的话,可以留言评论,因为小弟也是新人;