自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn/lfdfhl
  • 本文图片出处:《明解C语言》(第三版)

基本数据类型

C语言中基本数据类型主要包括两大类:整数类型和浮点型。

关于,基本数据类型的详细分类,请参见下表:

从该表中可以看到:

整数类型分为3大类:枚举、字符、整型

浮点型分为2大类 :float、double、long double

整数中有正数也有负数;故,用unsigned修饰整数,用于表示0和正数,也叫做无符号数;用signed修饰整数,用于表示0和正数以及负数,也叫做有符号数;若无明显说明,则默认情况下是有符号数。long以及short是与unsignedsigned类似的,它们也是类型的说明符(修饰符)。

关于字符型的名称及其简称和整型的名称及其简称请参见下表:

以第四行为例:


signed short int ;signed short ;short int;short其实是一回事儿,常用的是最右侧的简写形式short。

整型和字符型能表示的数值的范围如下图:

请注意:

  • 上表中是标准C语言中各类型所表示的范围,它是一个参考值;某类型具体到底能表示多大数值范围因编译器不同而有所差异。
  • 虽然因编译器的差异而导致数据类型的范围不一样;但是它们总体必满足: shortint s h o r t 的 范 围 ≤ i n t 的 范 围 long ≤ l o n g 的 范 围
  • C语言编译器在 < limits.h >头文件中以宏的形式定义了字符型以及其他整型所能表示的数值的最小值和最大值。

整型的内部表示

无符号整数在计算机内部是以二进制数来表示的,例如25可以表示为:11001.
有符号整数的内部表示因编译器而不同,常见的表示方法有:反码、补码、符号和绝对值三种;这三者的共同之处是:用最高位来表示数的符号,比如最高为1表示负数,最高位为0表示正数或者0


进 制

进制有多种,在编码中常用的进制有:八进制,十进制,十六进制;它们分别逢8,10,16进位。如下图所示:

以第一行为例:0 1 2 3 4 5 6 7 之后进一位变成了 10 11 12 13 14 15 16 17 之后再进一位变成了20 21 22 23 24 25 26 27

八进制常用0开头以区别于十进制;十六进制以0X或0x开头,并且A~F不区分大小写。之前在调用printf()函数时,经常用到%d,这个d是什么含义呢?字母d是单词decimal的缩写;所以,它的含义是:以十进制形式显示后面的实参。同理,%o表示以八进制(octal)表示实参,%x表示以十六进制(hexadecimal)表示实参。

在部分整数的末尾还可附带U和L等符号,这些符号被称为整型后缀。

  • 小写u和大写U表示该整数是无符号类型
  • 小写l和大写L表示该整数是long类型

关于各进制之间的转换在此无必要赘述。


浮点型

浮点型用来表示带有小数部分的实数,它有三种类型:
float、double、long double;三者的表示范围为:
floatdouble f l o a t 的 范 围 ≤ d o u b l e 的 范 围 long double ≤ l o n g   d o u b l e 的 范 围

与整型常量的U和L后缀类似,浮点型常量的末尾也可以添加指定类型的浮点型后缀f或F表示float型、l或L表示long double型


字符型

字符类型一共有三种:char、signed char、unsigned char。


sizeof运算符

sizeof运算符可以判断出包括char型在内的所有数据类型的长度;也可以用于别的计算。它的常见使用方式有以下两种:

  • sizeof(类型名)
  • sizeof 表达式

typedef

typedef用于为已有的数据类型创建别名。

例如:typedef A B;表示为A创建别名B

更多推荐

C语言自学完备手册(05)——基本数据类型(1)