那麼,對於這個問題抱歉,更像是一個普通的文化(沒有找到準確的答案)。指針的大小,如果這個大小取決於體系結構
如果我有像
char * Field
或
void * Field
或
double pointers
- 指針的大小是一樣的嗎? (據我所知,從大學時間它是4個字節,但...)
- 指針的大小相同取決於CPU的體系結構?
- 如果我指向一個數據結構,指針本身的大小是一樣的,不是嗎?
假設在C例子(我會更願意相信這將是不直接處理指針其他語言的相同)
那麼,對於這個問題抱歉,更像是一個普通的文化(沒有找到準確的答案)。指針的大小,如果這個大小取決於體系結構
如果我有像
char * Field
或
void * Field
或
double pointers
假設在C例子(我會更願意相信這將是不直接處理指針其他語言的相同)
指針的大小是一樣的嗎? (據我從大學記得是4個字節,但是......)
不一定是相同的,而不一定4個字節:Are all data pointers the same size in one platform for all data types?
是指針的根據相同的大小CPU的架構?
它從建築到建築各不相同。即使在相同的硬件上,它也可以從操作系統到操作系統(例如32位與64位)有所不同。
如果我指向一個數據結構,指針本身的大小是一樣的,不是嗎?
同樣,不一定:Are all data pointers the same size in one platform for all data types?
是,指針的大小不依賴於它指向的數據類型。 編輯:顯然不正確。見aix的答案。
指針大小可能取決於CPU,內存模型,運行時和/或操作系統。
同樣,指針的大小不取決於它指向的數據類型。 編輯:顯然不正確。見aix的答案。
您可以很容易地找出帶有sizeof()構造的指針的大小。
檢查aix的答案。 – m0skit0 2012-02-08 16:05:58
+1提及內存模型。 – 2012-02-08 16:08:02
在大多數系統中,指針的大小是相同的,但C不能保證。它只是承諾你足夠寬以包含每個指針類型(除了指向函數的指針)。是的 - 這取決於CPU。 (在64位系統中,指針通常是8個字節)
1)指針的大小對於所有指針類型都是相同的。
2)通常在32位體系結構中它將是4個字節,而在64位體系結構中它將是8個字節。
3)無論你指向什麼,指針的大小都是一樣的。
有趣和令人困惑。我會研究更多,特別是尺寸差異。謝謝。 – Kani 2012-02-08 16:48:09