理解指標大小
在程式設計中,指標經常用來儲存記憶體位址以及程式其他部分的引用資料。出現一個常見問題:指標的大小是否與其指向的類型的大小相匹配,還是指標總是具有固定大小?
固定大小指標
在大多數情況下,指標具有固定的大小,與它們所引用的類型無關。這個固定大小是由底層系統的架構決定的。例如,在具有 32 位元體系結構的電腦上,無論它們指向的資料大小如何,指標通常都會佔用 32 位元記憶體。
範例實作
考慮下面的 C程式碼片段:
1 2 3 4 |
|
如果我們編譯並執行這個程式碼:
1 2 3 4 |
|
輸出可能是:
1 2 3 4 |
|
如您所見,兩個指標(xPtr 和yPtr)的大小是相同的,即使它們指向不同大小的資料(整數和字元)。
異常
雖然指針通常有固定大小,但也有一些例外。例如,在舊的 16 位元 Windows 系統上,同時存在 16 位元和 32 位元指標。然而,在現代桌面作業系統上,通常可以安全地假設給定可執行檔中的指標具有統一的大小。
以上是指標大小是否始終與其指向的資料類型相符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!