czlhxm 发表于 2017-7-11 15:36:56

C语言基础摘要--二、数据

本帖最后由 czlhxm 于 2017-7-11 15:36 编辑



2.1 基本数据类型
        C语言仅有4种基本数据类型:整型、浮点型、指针和聚合类型(如数组和结构),其他类型由上派生。

        变量的三个属性:作用域、链接属性、储存类型。

        作用域是变量能够使用的有效范围。

        链接属性是变量能否在多文件或单一文件中使用的有效范围定义。

        储存类型是变量在实际运行中在内存里的存储方式。

        位是最小的储存单位,可容纳值0或1,是计算机储存的基本单位。

        字节是计算机常用储存单位。一个字节占8位,固一个字节可表示256种0、1组合。

        字是自然储存单位,对于不同硬件,字的大小是不同的。

2.2 整型和字符型
        不同硬件中,整型的大小不尽相同,但储存方法基本相似:假如一个整型占用大小为4个字节,那么它在内存中占用32位,最高位(从左往右第一位)储存整数符号(0正1负),往后的位数表示数值,如250在内存中为"00000000000000000000000011111010"。若为无符号(unsigned)则最高位直接开始储存数值。

        长整型至少和整型一样长,整型至少和短整型一样长。

        整型最小范围:      char 0~255                                 signed char -127~127                        unsigner char 0~255
                                       short int -32767~32767            unsigned short int 0~65535               int -32767~32767
                                       unsigned int 0~65535               long int -2147483647~2147483647
                                       unsigned long int 0~4294967295

        缺省(即默认)的整型为机器最自然(高效)的整型类型。

        整型溢出时变为超出范围的值或变为负数。

        limits.h(详情百度)说明了各整型值的特点。

        可移植程序变量值建议为signed和unsigned范围大小的交集。

        常量可用L/l、U/u前缀表示。

        字符型在技术实现上是整型的一种,通过ASCII码对照相应的整型值,固可以操作整型的方式操作字符型。

        浮点型在内存中的储存分为符号区段指数区段和数值区段,类比整型,详情百度。

2.3 指针、字符串和其他数据类型
        指针是变量在内存中储存的地址的抽象表现形式。

        字符串在C中以字节数组的形式储存,并以NULL字节终结字符串。

        数组为一系列类型相同的元素构成,在内存中以连续的片段进行储存。

        枚举类型功能类似数组,但貌似只能储存整型。

        结构体为进阶版“枚举”,支持包含多个不同类型的成员。

        对于特殊的类型,可使用(基本数据类型)的方式进行转换为相应基本类型,例:(int)time_t 。
页: [1]
查看完整版本: C语言基础摘要--二、数据