//首先了解指向常變數的指標變數,然後再進一步研究指向常物件的指標變數。
//定義乙個指向常變數的指標變數ptr
const char * ptr;
//定義指向常變數的指標變數的一般形式為
const 型別名 *指標變數名;
//注意 a如果乙個變數已被宣告為常變數,只能用指向常變數的指標變數指向它,而不能用一般的(指向非const型變數的)指標變數去指向它。
// b指向常變數的指標變數除了可以指向常變數外,還可以指向未被宣告為const的變數。此時不能通過此指標變數改變該變數的值。
如char c1='a';
const char *p;
p=&c1;
*p='b';//非法
c1='b'//合法
// c如果函式的形參是指向非const型變數的指標,實參只能用指向非const變數的指標,而不能用指向const變數的指標
// d如果函式的形參是指向const型變數的指標,在執行函式過程中顯然不能改變指標變數所指向的變數的值,因此允許實參是指向const變數的指標,或指向非const變數的指標。
//以上介紹的是指向常變數的指標變數,指向常物件的指標變數的概念和使用是與此類似的
//常物件
//a如果乙個物件已被宣告為常物件,只能用指向常物件的指標變數指向它,而不能用一般的(指向非const型物件的)指標變數去指向它。
//b如果定義了乙個指向常物件的指標變數,並使它指向乙個非const的物件,則其指向的物件是不能通過指標來改變的。
//c指向常物件的指標最常用於函式的形參,目的是在保護形參指標所指向的物件,使它在函式執行過程中不被修改 形參是const , 要求實參可以是非const,也可以是const
//d如果定義了乙個指向常物件的指標變數,是不能通過它改變所指向的物件的值的,但是指標變數本身的值是可以改變的。
指向物件的常指標變數與指向常物件的指標變數區別
time const p 指向物件的常指標變數 p 的值 p的指向 不能修改 const time p 指向常物件的指標變數,p 指向的類物件的值不能通過p來修改 將指標變數宣告為const型,這樣指標變數始終保持初值,不能改變,即其所指向不變。timet1 10,12,15 t2 time con...
指向變數的常指標和指向常變數的指標
剛接觸到指標時,關於指向變數的常指標和指向常變數的指標容易混淆,所以整理下,希望能夠幫助自己也幫助到大家。常指標就是我們說的指向常量的指標,顧名思義,它是用來指向常量的。實際上,c 規定只能用指向常變數的指標指向常變數,普通指標指向它就會報錯,原因也很容易理解,我們用普通指標指向常變數之後,有可能就...
指向變數的常指標與指向常變數的指標變數的區別
一 指向變數的常指標 形式 型別名 const 指標變數名 將指標變數宣告為const型,這樣指標變數始終保持為初值,不能改變,即其指向不能改變 例 include include int main 常指標pcpt已經指向了cbuff1,就不能再指向cbuff2了。注意 雖然常指標只能始終指向同乙個...