變數代表一段儲存空間的別名,但並不是只能通過變數才能訪問一段記憶體了,指標也可以
1、*號的意義
p = &i;
*p = i;
為什麼指標的大小占用為4個位元組?
因為如果系統是32位,位址定址範圍為4個位元組,所有的32位位址值都可以用4個位元組表示,所以32位系統指標的大小都為4個位元組
`2、傳值呼叫與傳址呼叫
我記得我當初剛學這裡的時候被swap函式折磨了很久,現在想來,以前是真的菜,我覺得主要還是要搞懂作用域的問題,我們可以把函式當成乙個副本,無論你傳值呼叫怎麼去修改值,對我值本身根本沒有影響。就像你在桌面上複製乙個文件生成乙個副本。你在副本裡面怎麼修改文件,對我原文件是一點影響都沒有。
但是傳址呼叫不一樣,你用指標交換的時候,真實值就已經改變了。
#include //void swap(int a, int b) 這段**是錯誤的。
3、常量指標
const int* p; //p可變,p指向的內容不可變
int const* p; //p可變,p指向的內容不可變
int* const p; //p不可變,p指向的內容可變
const int* const p //p和p指向的內容都不可變
口訣:左數右指
當 const 出現在 * 號左邊時指標指向的資料為常量,
當 const 出現在 * 號右邊時指標本身為常量。
26 指標的本質分析
程式中的變數是一段儲存空間的別名,本質上是一段儲存空間。問題 是不是只能通過變數使用儲存空間?include int main 總結 可以通過指標來使用儲存空間。在指標宣告時,號表示所宣告的變數為指標 在指標使用時,號表示取指標所指向的記憶體空間中的值。指標的特殊點 1.指標的本質是變數,但變數的值...
26 指標的本質分析
注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 4.4.5 一 變數回顧 程式中的變數只是一段儲存空間的別名,那麼是不是必須通過這個別名才能使用這段儲存空間?二 思考 下面的程式輸出什麼?為什麼?int i 5 int p i prin...
NO15 指標的本質分析
變數 程式中的變數只是一段儲存空間的別名,那麼是不是必須通過這個別名才能使用這段變數?可以 號的意義 在指標宣告時,號表示所宣告的變數為指標 在使用時,號表示取指標所指向的記憶體空間中的值 指標是變數,因此可以宣告指標引數,當乙個函式體內部需要改變實參的值,則需要使用指標引數,函式呼叫時實參值將賦值...