一、內存與字節
例如: int? a = 10;
該表達式表達的意思:向內存申請4個字節,用于存放數字10?
—— 就是把10的32位二進制數位分為了四份,一份八位比特位?
而四份,有不同的地址,而我們將地址位最低的哪一個地址,作為首地址使用。
而 & 作為取地址符號的時候 &a 就表示取a在內存中存放的地址 中的首地址? ,這和數組中的數組名一個意思,首地址可以代表a在內存中的所處空間位置。
二、內存與指針
int * p = & a
首先,我們想要把 &a存放到一個變量p中,而p也因此被稱之位指針變量
而p的類型 則是 int *
而 * 則是說明 p是一個指針變量? ?——? ?一個證明
int 表示的是 p 所指向的地址 &a 中 a 的一個類型??
int * 又表示了 指針變量 p的類型
*p表示的是一種指向,通過p中存放的地址,找到地址指向的空間 *p就是變量a
p是存儲指向內容的地址,是一個地址編號
如圖所示,指針變量 p 中存放的其實是&a 也就是一個地址的編號,而這個地址編號又引導著指針變量p指向這個地址編號所表示的空間
就是相當于 指針變量p(*p)就是 變量a?
所以當指針變量p(*p)發生改變時,變量a也會隨之而改變
例如 : *p = 0? 相當于? a = 0;