眾所周知;在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++裡面的
<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"" alt="\">
而且在c++裡面,是可以這樣子定義的。
//c++編譯器在編譯期間就把他放到符號表裡面 //根據上面得到a是一個真正的常量。 int const a = 10; int const b = 11; //在編譯的時候就把長度給定下來了 // array [10+11]//裡面肯定是個常量;c++編譯的時候已經固定長度 //所以這樣子也可以的,但是在c語言裡面不可以 int array[a + b] = { 0 };如果小弟有解釋不合理的話,可以留言評論,因為小弟也是新人;