C语言各种类型所占字节数与取值范围

        最近很多童鞋对C语言的各种数据类型占得字节数与范围搞不清楚,导致数据范围不足的隐形Bug!

        比如一个数是100000,但是该学生用short   a = 100000  ;    很明显超出short范围了,最后导致a 是另外一个值,那么今天黄老师就带领大家用代码亲自验证下各种数据类型所占得字节数,不要求你记得死死的,只要有大致印象即可!

 

#include <stdio.h>
#include<limits.h>
#include<float.h>
int main()
{
    //C语言各种数据类型所占字节数
    printf("char                 %d            %d ~%d    \n", sizeof(char), CHAR_MIN, CHAR_MAX);
    printf("short                %d            %d ~%d    \n", sizeof(short), SHRT_MIN, SHRT_MAX);
    printf("int                    %d            %d ~%d    \n", sizeof(int), INT_MIN, INT_MAX);
    printf("long                 %d            %ld ~%ld    \n", sizeof(long), LONG_MIN, LONG_MAX);
    printf("long long         %d            %lld ~%lld \n", sizeof(long long), LLONG_MIN, LLONG_MAX);
    printf("float                 %d            %e ~ %e    \n", sizeof(float),  FLT_MIN, FLT_MAX);
    printf("double             %d            %e ~ %e   \n", sizeof(double), DBL_MIN, DBL_MAX);
    printf("long double     %d            %e ~ %e    \n", sizeof(long double), LDBL_MIN, LDBL_MAX);
}
 

最终的打印结果如下图:

VS2019在32位机器上:

           

 

VS2019在64位机器上:

好记性不如烂笔头,自己把老师的代码敲一下,印象会更深哦!

 

想跟着老师一起学的,可以看看https://edu.csdn.net/course/detail/5895

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