const 符號常量;
(1)const char *p
(2)char const *p
(3)char * const p
說明上面三種描述的區別;
如果const位於星號的左側,則const就是用來修飾指針所指向的變量,即指針指向爲常量;
如果const位於星號的右側,const就是修飾指針本身,即指針本身是常量。
(1)const char *p
(2)char const *p
(3)char * const p
說明上面三種描述的區別;
如果const位於星號的左側,則const就是用來修飾指針所指向的變量,即指針指向爲常量;
如果const位於星號的右側,const就是修飾指針本身,即指針本身是常量。
(1)const char *p
一個指向char類型的const對象指針,p不是常量,我們可以修改p的值,使其指向不同的char,但是不能改變它指向非char對象,如:
const char *p;
char c1='a';
char c2='b';
p=&c1;//ok
p=&c2;//ok
*p=c1;//error
(2)char const *p
(3)char * const p
這兩個好象是一樣的,此時*p可以修改,而p不能修改。
(4)const char * const p
這種是地址及指向對象都不能修改。
一個指向char類型的const對象指針,p不是常量,我們可以修改p的值,使其指向不同的char,但是不能改變它指向非char對象,如:
const char *p;
char c1='a';
char c2='b';
p=&c1;//ok
p=&c2;//ok
*p=c1;//error
(2)char const *p
(3)char * const p
這兩個好象是一樣的,此時*p可以修改,而p不能修改。
(4)const char * const p
這種是地址及指向對象都不能修改。