C语言总结之基本数据类型

来源:互联网 发布:类似focusky的软件 编辑:程序博客网 时间:2024/04/30 06:37

        在C语言中,只有四种基本数据类型——整型,浮点型,指针和聚合类型(如数组和结构等)。

1.整型(integer)

        
整型家族包括字符、短整型、整型、和长整型。可以分为有符号(signed)和无符号(unsigned)两个版本。其中我经常用到的是字符(char)和整型(int)。
        标题中的整型(integer)指的是一种数据类型,integer的中文意思是整数的意思,即只能保存整数。
        整型家族中的整型(int)指的是C语言的关键字。

        变量的最小范围
类型最小范围signed char-128~127unsigned char0~255signed int-32767~32768unsigned int0~65535        在C语言中。char是signed char还是unsigned char,这要取决于编译器,一般情况下char默认为是signed char。

1.1 整型常量(literal)


        整型常量也可以称作整型字面值。
        整型常量可以用二进制、八进制、十进制和十六进制来赋值。其中,二进制用0b开头,八进制用0开头,默认情况下是十进制,十六进制用0x开头。例如,表示十进制数字16,二进制0b11111111,八进制020,十六进制0xFF。十六进制中的英文字母可以大写也可以小写。
        在整型常量后面添加字符L或l(字母l),可以使这个整数倍解释为long整型值,字符U或u可以指定为无符号(unsigned)整型值。

        字符常量。字符常量是用一个单引号包围起来的单个字符(或字符转义序列或三字母词),它的类型总是int。例如 'M' 、'\n'。

1.2 枚举类型(enumerated)


        枚举类型就是指它的值为符号常量而不是字面值的类型。

2.浮点类型


        浮点数家族包括float、double和long double类型。
        ANSI标准中规定了一个最小范围:所有浮点类型至少能够容纳从10-37到1037之间的任何值。
        同样,浮点常量在默认情况下都是double类型,可以在后面跟一个L或l表示它是一个long double类型,或者跟一个F或f表示float类型。

3.指针


        变量的值存储与计算机的内存中,每一个变量都占据一个特定的位置。
        指针变量就是一个其值为另外一个(一些)内存地址的变量。

3.1 指针常量(pointer constant)


        把指针常量表达为数值常量的形式几乎没有用处,所以C语言内部并没有特地定义这个概念。

3.2 字符串常量(string literal)


        字符串是一串NUL字节结尾的零个或多个字符。
        字符串通常存储在字符数组中,这也是C语言没有显式的字符串类型的原因。
        由于NUL字节是用于终结字符串的,所以在字符串内部中不能有NUL字节。之所以选择NUL作为字符串的终止符,是因为它不是一个可以打印的字符。


参考资料:
Reek K A, 徐波. C 和指针[M]. 人民邮电出版社, 2008.

原创粉丝点击