最近很多童鞋对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位机器上:
好记性不如烂笔头,实践是检验真理的唯一标准,自己把老师的代码敲一下,印象会更深哦!