int x = 3; const int *y = &x; y可以指向其他內(nèi)容嘛?
8:06的時(shí)候作者說(shuō)“這個(gè)指針(*y)我指向的位置不可變,也就是說(shuō)x本身具有讀和寫的權(quán)限,y只有讀的權(quán)限”(就是說(shuō) y=&c 錯(cuò)誤?)
但是在2:38的時(shí)候,示例為 'int x = 3; const int *p = &x; ',作者說(shuō)“p=&y正確,*p=4錯(cuò)誤”
那*y或者*p能不能指向其他內(nèi)容?
2019-12-29
可以,const int *y = &x;是指向的地址的內(nèi)容不可變,即不可通過(guò)對(duì)*y賦值來(lái)修改x的值;但可以修改指向的地址。
int *const y = &x;才是y = &p;錯(cuò)誤,而可以進(jìn)行*y = 10;對(duì)x的值進(jìn)行修改。
你可以上機(jī)實(shí)操一下,實(shí)驗(yàn)一下不同式子的正誤