第乙個問題:
上邊這個圖中列印出來的ptr1的位址和&ptr1的位址分別是什麼的位址?
我理解的ptr1的位址就是ptr1這個指標變數自己的位址,&ptr1的位址就是ptr1這個指標指向的位址,也就是這個程式中urn這個字元陣列的首位址,是這樣嗎?
如果我的理解是正確的話,是不是就是代表ptr1 = urn;這句話把urn的位址賦給指標ptr1就可以理解為,ptr1這個指標本身的位址不變,ptr1這個指標指向urn的首位址。
第二個問題:
在書中講const關鍵字的時候提到了const關鍵字在指標變數之前時,指標p是可以改變的,指標所指向的內容是不可改變的。比如:
1這裡指的指標所指向的內容不可變是指p的型別不可變,只能是整數型還是指a的值不能變?我程式設計除錯的時候發現a的值是可變的,所以是不是這裡指的內容不可變指的就是內容的型別不可變。intconst a = 100;2
3 cons tint *p;
45 p = &a;
第三個問題:
在書中講const關鍵字的時候提到了const關鍵字在指標變數的定義之中,指標p的值不能改變,指的是指標只能指向某個位址不能改變嗎?如果是這樣的話(看下面的**),p就是只能指向a的位址不能再改變了嗎?那這樣的話是不是改變a的值再列印*p的值就是已經修改過的a的值。
1指標這一塊的知識之前基本為零,所以這兩天看的很吃力,進度有點慢,希望老師給解答一下,然後你看看指標這一塊有沒有什麼需要注意的,需要特別注意去學習的地方跟我說一下。int a = 100;2
int * const p = &a;
指標學習中遇到的問題
1.指標的概念 在計算機中,所有的資料都是存放在儲存器中的。一般把儲存器中的乙個位元組稱為乙個記憶體單元,不同的資料型別所占用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等,在第二章中已有詳細的介紹。為了正確地訪問這些記憶體單元,必須為每個記憶體單元編上號。根據乙個記憶體單元的編號即可準...
指標常遇到的問題
指標是個涉及到記憶體,很容易產生bug的根源,總結了幾點指標容易出錯的問題 1 對於多級指標,不要在多個函式中分配記憶體空間,例如 void func char p int main 上面這段 就是現在main函式中對p指向的空間開闢了一段記憶體,然後又在func函式中開闢了二級記憶體,這樣在專案開...
面試遇到的指標問題
1 如何將陣列指標傳入另乙個函式,並修改其內容?對於乙個二維陣列 int arry 3 3 最開始設想的是將陣列的指標的位址作為引數傳入,但是編譯不通過,提示型別不能從int 3 3 轉換為int 糾結好久最終找到正確的引數型別,必須傳入符號以及指向一維陣列的長度,告訴編譯器具體型別,如下 void...