C指標個人理解

2021-09-27 15:27:01 字數 474 閱讀 1054

先看乙個例子:

void get_addr_num(unsigned int *p)

int main()

輸出結果為

0123456

個人理解:

首先,p為乙個變數,其記憶體上儲存的值為0,通過對p進行&取址,將p所在的記憶體傳遞給函式get_addr_num,而函式中將傳進來的記憶體 *賦值,將p的記憶體儲存的值賦為123456,因此後面變數p的記憶體上儲存的值也就為123456.

總結:(資料型別 *)名稱–>定義乙個名稱為記憶體

名稱為&名稱上儲存的值

記憶體–>記憶體上的儲存的值

因此名稱–>名稱作為位址指向的值

而如果p為變數,則&p–>取變數p的記憶體

當然使用:

unsigned int *p_child;

p_child= (unsigned int *)p;就可以將前面p通過函式所改變的值作為乙個位址值賦給記憶體p_child。

個人對指標的指標理解

每次一看到兩個 號,就頭疼,終於在一次看源 時,看了半天才弄明白其中含義,所以寫一寫對指標的指標的理解。int main 以乙個小例子來說明 我們將a指標稱為一級指標 因為a指標變數儲存的位址儲存的是乙個具體的數值或者字元,反正不再是位址值 b稱為二級指標,因為b是指向指標的指標,以此類推long ...

個人關於指標的理解

指標是什麼?如何理解指標?因為指標是抽象的,所以這裡我把它擬物化,這樣解釋也許跟容易懂。指標的專業解釋是 指標是記憶體單元的編號。說明 以下的黑方框都代表乙個位元組 1 對於記憶體。我們一般認為記憶體的基本單位是位元組,記憶體空間由很多位元組組成的。記憶體可以儲存資料,所以我們把每個位元組當做是乙個...

個人c語言中指標的理解

定義指標 int p int i p i p是指向i位址的指標 p 10 指的是i的值變成了10指標在使用前一定要賦值 確定指標指向 為指標變數賦的值必須是乙個位址 將指標變數初始化為空指標,意為該變數不指向任何值 int ptr null 將變數位址賦值給指標 int a int p a 或者 i...