指針常量和常量指針

參考博客:

https://blog.csdn.net/xingjiarong/article/details/47282255

常量指針是指針指向的內(nèi)容是常量:

int a =5;

const int*n = &a;

*n=6;

上邊這段代碼會報錯,因為n是一個常量指針,不能通過指針來改變指針?biāo)赶虻淖兞康闹担?/p>

但是下邊這段代碼是允許的,即可以通過其他引用變量來改變變量的值

n = &b;

指針常量是指指針本身是個常量,不能再指向其他的地址;

int a =5;

int a =500;

int *const n = &a;

n = &b;

上邊這段代碼會報錯,因為指針常量不允許指向其他的地址;但是地址中保存的數(shù)值是可以改變的。

我們常用的是指針常量,確保指針變量不能被修改,而不是地址中保存的值。

記憶小技巧

區(qū)分常量指針和指針常量的關(guān)鍵就在于星號的位置,我們以星號為分界線,如果const在星號的左邊,則為常量指針,如果const在星號的右邊則為指針常量。如果我們將星號讀作"指針",將const讀作"常量"的話。美容正好符合。int *const n是指針常量,int const *n是常量指針;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容