高級程式語言的軟體開發過程對於內存的使用雖然不需要程式設計師做過度的檢查,但掌握各種數據類型的長度對任何程式設計師的編程開發都是至關重要的。

本文將對各種數據類型的變量長度做詳細介紹,以供大家參考、學習。
求基本數據變量類型的長度—sizeof
基本數據類型的長度:
布爾:bool字符:char整數:short、int、long、long long浮點數:float、double一個問題:除bool以外的上述各變量指針所佔字節數是多少呢?代碼與結果:


重點:字符數組與字符串所佔的字節長度
這是一個很容易混淆的點,字符串與字符數組,sizeof與strlen,直接看代碼:

說明:
sizeof運算符指出的是整個數組的長度:15位元組strlen返回的是存儲在數組中的字符串的長度,而非數組本身長度strlen只計算可見字符,而不會包含結束字符『\0』存儲字符串到字符數組中要求數組長度至少為字符串長度strlen+1字符串以『\0』為結束標誌按照上述規則,代碼結果就很容易理解了:

有趣現象的解釋:

總結
防止越界訪問最關鍵的就是熟知變量、數組的大小,熟練的掌握所有變量類型所佔的字節數對於任何程式設計師來說都是有百利而無一害的。