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