學(xué)c語言的時(shí)候,記得有時(shí)候用const只是提示作用,提示看代碼的人有些內(nèi)容不能修改,起不到實(shí)際作用。所以在我的理解里:const int const *p =&a;等價(jià)于int const *p =&a;第一個(gè)const只相當(dāng)于提示作用,沒有實(shí)際作用。我在vs里面編譯運(yùn)行了一下,兩種寫法都沒有報(bào)錯(cuò),個(gè)人理解,還望指正。
2020-02-11
已采納回答 / qq_慕粉0064057
就好比給別人起外號(hào),一個(gè)人實(shí)際名字“小明”(題目中的x),我給它起外號(hào)叫“明明”(題目中的y),然后我打了“明明”(改變y值)其實(shí)就是打了小明(x值跟著變化),我喊明明其實(shí)也就是喊小明
2019-12-31
已采納回答 / 慕粉4034825
可以,const int *y = &x;是指向的地址的內(nèi)容不可變,即不可通過對(duì)*y賦值來修改x的值;但可以修改指向的地址。int *const y = &x;才是y = &p;錯(cuò)誤,而可以進(jìn)行*y = 10;對(duì)x的值進(jìn)行修改。你可以上機(jī)實(shí)操一下,實(shí)驗(yàn)一下不同式子的正誤
2019-12-28
最新回答 / qq_回鍋肉_2
引用和存儲(chǔ)地址不是一個(gè)概念,取地址符 和 引用符 雖然都用&來表示。但是要根據(jù)具體的語境來分析是什么。eg: Coor c1;? ? ?Coor &c = c1;c1 是已經(jīng)實(shí)例化的真正存在的實(shí)體,我們給它取個(gè)別名叫c 。如果沒有這個(gè)實(shí)體c1,只單獨(dú)寫個(gè)Coor &c。就會(huì)報(bào)錯(cuò)。eg: int x = 3; cout << &x??因?yàn)閤變量已經(jīng)有了定義int x = 3,也就是說它擁有了空間,去打印 &x 的話就會(huì)得到x變量的地址。
2019-12-27
最新回答 / sky_i
因?yàn)槟愕牡谑袑懙氖牵?<...code...>所以沒有使用到變量p,所以第八行不影響程序運(yùn)行。你可以看看答案,答案用的是:<...code...>像答案那么寫的話就需要第八行
2019-12-27
最新回答 / ChinaMoker
int main(void){int x = 10;int y = 20;cout << y << "," << x << endl;system("pause");return 0;}
2019-10-04
最新回答 / Allisam
x將地址給了y,那么*y和x就是一體的,x改變*y也會(huì)改變,如果我下面的代碼改變了x,那*y也要變,可是*y不是收到了const的修飾不能變么按照C指針的說法,第一句就是錯(cuò)的,y是指向x的指針,和x不是一體的,x是變量,x不管怎么變,y指向的地址是不變的。const int * y 就是指向只讀變量的指針,不能改變值,但是可以指向別人
2019-09-15