最近很多童鞋對C語言的各種資料類型占的位元組數與範圍搞不清楚,導緻資料範圍不足的隐形Bug!
比如一個數是100000,但是該學生用short a = 100000 ; 很明顯超出short範圍了,最後導緻a 是另外一個值,那麼今天黃老師就帶領大家用代碼親自驗證下各種資料類型所占的位元組數,不要求你記得死死的,隻要有大緻印象即可!
測試代碼如下:
#include #include#includeint main(){ short a = 100000; //C語言各種資料類型所占位元組數 printf("char %d %d ~%d ", sizeof(char), CHAR_MIN, CHAR_MAX); printf("short %d %d ~%d ", sizeof(short), SHRT_MIN, SHRT_MAX); printf("int %d %d ~%d ", sizeof(int), INT_MIN, INT_MAX); printf("long %d %ld ~%ld ", sizeof(long), LONG_MIN, LONG_MAX); printf("long long %d %lld ~%lld ", sizeof(long long), LLONG_MIN, LLONG_MAX); printf("float %d %e ~ %e ", sizeof(float), FLT_MIN, FLT_MAX); printf("double %d %e ~ %e ", sizeof(double), DBL_MIN, DBL_MAX); printf("long double %d %e ~ %e ", sizeof(long double), LDBL_MIN, LDBL_MAX);}
最終的列印結果如下圖:
VS2019在32位機器上:
VS2019在64位機器上:
好記性不如爛筆頭,實踐是檢驗真理的唯一标準,自己把老師的代碼敲一下,印象會更深哦!