const int *p = a; *p的值為什么還可以變化
int?a?=?3,b?=?5; const?int?*p?=?&a; p?=?&b;????//*p?=?b?過不了,因?yàn)?p是const cout<<a<<",?"<<b<<",?"<<endl; //此時(shí)*p本來是常量3,現(xiàn)在變成了5,按理來說應(yīng)該是不可變的啊
int?a?=?3,b?=?5; const?int?*p?=?&a; p?=?&b;????//*p?=?b?過不了,因?yàn)?p是const cout<<a<<",?"<<b<<",?"<<endl; //此時(shí)*p本來是常量3,現(xiàn)在變成了5,按理來說應(yīng)該是不可變的啊
2018-07-13
舉報(bào)
2019-07-08
const int *p;意思是修飾*p變成常量,*p的值不能改變,但是p能改變,也就是說指針指向的地址可以改變,所以
p=&b是正確的,所以現(xiàn)在指針P指向b地址,*p就是b的值,所以變成5;不是意義上的*p直接改變,是指針指向被動(dòng)改變。這是我的理解,希望能幫助你。
2019-04-23
const int *p = &a;
*p不可變但是,p的值可以改變,就是指針可以指向其它變量
p = &b;
這時(shí)指針指向變量b了,那么*p的值就是b的值是5,
但是如果想用*p修改b的值,就不行
2018-12-15
* 前 const ,const 修飾 *p,值不可變
* 后 const,const 修飾 p,指針指向不可變
2018-08-02
const int *p=&a的時(shí)候,const修飾的是(*p)就是p指向的那個(gè)內(nèi)容a是不可以通過*p=XXX來改變的,
int *const p=&a 的時(shí)候,const修飾p p只能指向a,但是可以通過 *p=XXX,來改變a的值
2018-07-22
const int *p=&a;
const修飾的是*p,表示*p不可重新賦值,在不改變p的指向的變量的時(shí)候即p指向變量a,不能用*p來修改其所指變量a的值,,但是a不是常量,a的值是可以改變的,可以修改a的值,但是由于指針p指向a變量,a變量發(fā)生改變,那么指針p所指地址的內(nèi)容發(fā)生改變,希望你能理解,謝謝
2018-07-13
const *p 所指向的內(nèi)容是可變的,p=&y正確
* const p 所指向的內(nèi)容是不可變的,p=&y不正確