是一個變數指標(variable pointer) p 指向 字元常數(const char)
也就是說,p可以改值,導致指向對象可以不同
但指向的對象永遠會是定值
const char* p;
const char ch1 = 'a';
const char ch2 = 'b';
p = &ch1;
p = &ch2;
---------------------------------------------------------------
char* const p
是一個常數指標(const pointer) p 指向 字元變數 (variable char)
也就是說,p不可以改值,會永遠指向同一個對象
但指向的對象可以改變內容
char ch='a';
char* const p = &ch;
/* 注意這邊初始化要在定義的時候就做了,因為p是常數,定義完之後無法改值 */
ch='b';
---------------------------------------------------------------
const char* const p
這就是以上兩項合併的結果
是一個常數指標(const pointer) p 指向 字元常數 (const char)
兩者可是都不能更動的
const char ch='a';
const char* const p = &ch;
[Reference]
http://twpug.net/docs/ccfaq/node164.html
沒有留言:
張貼留言