C语言整理:1.1 数据类型——基础数据类型

        程序归根结底,就是对各种各样的数据进行运算。比如玩游戏时技能的释放轨迹,比如支付宝的指纹校验。都是一组一组数据。这是按照使用场景在划分,而按照计算机对数据的处理,C语言将数据分为如下几种基本数据类型。

        (一)整型数据

        _Bool:布尔类型,取值0或1,在内存中占用1个字节。

        char:字符型,内存中占用1个字节。

        short int:短整型,内存中占用2个字节。

        int:整型,内存中占用4个字节。

        long int:长整型,内存中占用4个字节或者8个字节,视编译器和操作系统而定。

        long long int:长整型,内存中占用8个字节。

        除去_Bool类型外的数据类型都有signed和unsigned两种,为有符号数和无符号数,但是占用的总内存是一样的。

        (二)浮点型数据

        float:半精度浮点型,内存中占用4个字节。

        double:双精度浮点型,内存中占用8个字节。

        long double:长双精度浮点型,内存中占用16个字节。

        (三)复数

        float _Complex:半精度浮点数为实部和虚部的复数,内存中占用8个字节。

        double _Complex:双精度浮点数为实部和虚部的复数,内存中占用16个字节。

        long double _Complex:长双精度浮点数为实部和虚部的复数,内存中占用32个字节。

       上述内存中占用字节数是在Windows7专业版64位下使用Cynwin中的gcc 5.2.0测试得出,具体占用内存字节数是和编译器/操作系统有关系的,可以使用运算符sizeof(type_name)进行计算获得。

        上面总结参考了C11中的部分内容,C11中还有一些数据类型(数组,结构体,联合体,函数类型,指针类型,自适应类型),这里不做赘述,认为不是基本数据类型。可以参考C11中《6.2.5 Types》章节或者后续总结。

参考资料:C11标准

猜你喜欢

转载自blog.csdn.net/lanruotian/article/details/81182401