求任意數據類型的字節長度

顯然,大家容易想到就是用sizeof,但是人家面試官就不讓用sizeof實現,就讓自己編程實現,這下就發毛了。

哈哈,其實沒必要,只要知道sizeof的底層實現便可。sizeof其實不是一個函數只是一個運算符,很簡單。

其原理就是當我們對數據類型地址進行加1和減1操作時,實際上就是加或減了相應數據類型字節數的整數倍,其代碼如下:

#define sizeof(L_Value) ((char*)(&L_Value + 1) - (char*)(&L_Value))

當然能夠與unsigned搭配的數據類型也可以用令其等零,取反也可以實現。

代碼如下:


哈哈,這樣知道怎麼求了吧,我覺得還是用最通用的比較好,就是位操作,效率又高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章