const 的全局變量是儲存在一個只讀數據段中,雖然你可以定義一個指向它的指針,卻會在運行時,在對該地址賦值的時候發生運行錯誤,
而局部的const變量是儲存在棧中的,離開作用域后同樣會被釋放,並且可以對指向該地址的指針進行賦值操作,但是不論是全局的const變量
還是局部的const變量,都是以一個字符表的形式儲存在某個位置,該變量本身是不可改變的,是沒有分配內存的,所以即便對指向該地址的
指針進行賦值,該const變量print出來的數值仍然是最初賦的值。
下面用代碼來說明:
運行結果如下:
若我們嘗試對指向B的指針賦值,會出現什么情況:
運行結果如下:
報錯了。