C語言高手來,關於指標

時間 2022-06-24 05:15:05

1樓:匿名使用者

這要看語義了。從這裡理解,p應該是個指標。第乙個表示p所指的物件中儲存的是變數m的位址,第二個則表示p中所存的是變數m的位址。

&是個取位址符,乙個變數加了&之後表示得到了這個變數的位址。

指標究竟是什麼呢?按我的理解,指標也是一種特殊的變數型別,就如int、char一樣,只不過這個變數(乙個指標,設為a)的記憶體空間中存的是另外乙個變數(設為b)的位址!這樣,(*a)的計算結果就是b。

(「*」運算子和取位址符剛好相反,是按照乙個指標中存的位址到達那個所對應的記憶體單元,這就是指標名字的由來!)

你只要記得指標中存的是個位址,*是對乙個位址(也就是乙個指標)進行「指向」操作,&是對乙個變數進行取位址操作,一切就一目了然了!

2樓:

指標這個詞的另乙個說法,是位址。

位址是這麼乙個概念:每一位址裡面,都放著乙個資料,這個資料是有型別的,可以是int型,char型,float型,當然也可以是位址型的(想想位址裡面放著位址是啥玩意)。

要想短時間內了解位址,對初學者幾乎是不可能完成的任務,除非你是詹姆斯邦德。

good luck!

3樓:毋嫚

*p=&m 表示p指向的是存放m位址的記憶體單元,

p=&m 表示p指向的是存放m的記憶體單元。

4樓:

它表示把m的位址賦給p指向的內容,即p指向m的位址。

前者將m的位址值賦給指標p的變數,後者將地m的位址賦給p指向的變數!(注意區別)

5樓:圀囦囯

char m;

char *p;

p=&m;

*p=&m;

你編譯看看,是正確還是錯誤?

關於指標和指標變數本來就是繞來繞去的,只有準確理解了指標的含義,不管怎麼繞都會理解的。

理解指標的關鍵是對計算機記憶體有正確地認識,你知道記憶體是怎麼回事了,指標就沒有任何問題了。

6樓:暑假要學習

很簡單。 p的型別是 char* 或int* 型別 char *p(也可以寫成char* p)=&m才能賦值,直接 *p=&m也不能賦值。

。。懂嗎,不懂我再說

7樓:匿名使用者

你沒寫完整,是int *p=&m;還是*p=&m;又或者前面還有一段程式?

8樓:有問必答

*p前邊是不是還有個int啊

c語言關於指標的求解,C語言中關於指標的指標問題?

出釹 int x 10 p1 a x 3 x 3 3 陣列從0開始,3其實是第四個 b p1 x 3,p1 先執行p1 x 3,也就是指向x 3 因為p1定義成指標。p1 這時候先執行再加,這表示式仍然是3 c p1 x 2,p1 p x 2 x陣列的地址加2,也就是指向x 2 x 2,這時候p 同...

關於c語言指標的問題,乙個關於c語言指標的問題

二維陣列相當於乙個一維陣列裡面的元素都是一維陣列 二維陣列名也相當於乙個二級指標。一維陣列 a a 0 二維陣列 a a 0 a 0 0 通俗點寫就是a a 0 a 0 a 0 0 因為 a 0 a 0 0 所以a於 a指向同乙個位址 a 0 0 則 a a 0 0 include int main...

C語言指標位址輸出問題,關於C語言指標位址輸出問題

能夠輸出位址值!include main 這個程式就可以 注意變數名,前後要一致,不要用大寫!請將 p改為 p 將最後一行改為 printf x b 你會看得更真切!x 按十六進製制輸出 你把 與 兩個的功能搞錯了 乙個是取位址 乙個是指向 但不取。注意變數名區分大小寫,菜鳥。我沒看出來有什麼不對的...