摘要: Sizeof的作用非常簡單:求對象或者類型的大小。然而sizeof又非常復雜,它涉及到很多特殊情況,本篇把這些情況分門別類,總結出了sizeof的10個特性:
(0)sizeof是運算符,不是函數;
(1)sizeof不能求得void類型的長度;
(2)sizeof能求得void類型的指針的長度;
(3)sizeof能求得靜態分配內存的數組的長度!
(4)sizeof不能求得動態分配的內存的大小!
(5)sizeof不能對不完整的數組求長度;
(6)當表達式作為sizeof的操作數時,它返回表達式的計算結果的類型大小,但是它不對表達式求值!
(7)sizeof可以對函數調用求大小,并且求得的大小等于返回類型的大小,但是不執行函數體!
(8)sizeof求得的結構體(及其對象)的大小并不等于各個數據成員對象的大小之和!
(9)sizeof不能用于求結構體的位域成員的大小,但是可以求得包含位域成員的結構體的大小!
閱讀全文