指針與地址,指針與指針變量,指針與指針型數據類型數組
網上不少文章,包括一些書籍都混淆上面幾個概念。如下是個人我的理解:指針
1. int i; int ——— 數據類型 ——— 數值型數據類型(還有char short long等)
int* ip; int* ———數據類型——— 指針型數據類型 (還有char* short* long*等)索引
由上咱們能夠清楚的知道,咱們一般說的指針是一種數值類型 ,進一步的說是一種特殊的數據類型(指針型數據類型)。怎麼特殊法?咱們先下個定義:用指針型數據類型聲明的變量稱爲指針變量 。特殊就在於,指針變量存儲的是內存地址(32位須要4個字節,64位須要8個字節)。什麼是內存地址?咱們能夠簡單的將內存理解爲一個連續的字節數組(數組元素爲字節),則內存地址至關於數組的索引。所以只要得知數組的索引,咱們就能夠知道此索引上的數組內容。ip
- 指針變量也是變量,那麼指針變量和普通變量同樣(好比上述的 i)能夠進行運算操做。可是指針變量的運算操做和普通變量有一些不同。內存
若是有人看,會繼續寫。變量