(1)const int a;
(2)int const a;
(3)const int *a;
(4)int * const a;
(5)int const * a const;
先看上面幾個被const修飾的對象:
(1)表示不可改變的整型變量,也就是說欲阻止一個變量被改變乏苦,可以使用const關(guān)鍵字;在定義該const變量時护姆,通常需要對它進(jìn)行初始化,因為以后就沒有機(jī)會再去改變它了掏击。
(2)的作用與(1)的一樣卵皂,都表示a是一個常整型;
說(3)之前砚亭,先說一下指針的概念?灯变,指針就是指向數(shù)據(jù)存儲位置的方向標(biāo)。而指針本身的數(shù)據(jù)就是指向?qū)ο蟮牡刂吠北臁H绻鹀onst位于星號的左側(cè)添祸,則const就是用來修飾指針?biāo)赶虻淖兞浚粗羔樦赶驗槌A垦罢蹋蝗绻鹀onst位于星號的右側(cè)刃泌,const就是修飾指針本身,即指針本身是常量署尤。再看(3)a代表的是指向整型數(shù)據(jù)的指針耙替,則a指向的內(nèi)容是不可以修改的。而指針a這個指針是可以修改的曹体。
同理(3)的分析俗扇。(4)中,a是不可變的箕别,a指向的內(nèi)容是可變的铜幽。?
最后一個意味著a是一個指向常整型數(shù)的常指針(也就是說,指針指向的整型數(shù)是不可修改的究孕,同時指針也是不可修改的?啥酱。