来自 MJ小马哥-C语言数据类型 的文章,记录些摘要:
- 指针类型:void *
- 构造类型
2.1 数组
2.2 结构体:struct
2.3 共用体:union
2.4 枚举:enum - 空类型:void
- 基本数据类型
4.1 整型:int
4.2 浮点型
4.2.1 单精度浮点型:float
4.2.2 双精度浮点型:double
4.3 字符型:char
类型修饰符
我们还可以在基本数据类型的前面加一些修饰符,也有人称之为限定符,一样的意思。
有以下4种类型修饰符:
- short 短型
- long 长型
- signed 有符号型
- unsigned 无符号型
- short和long可以提供不同长度的整型数,也就是可以改变整型数的取值范围,比如short的取值范围是-32768 ~ 32767,long的取值范围就是-2147483648 ~ 2147483647
- signed代表有符号,包括正数、负数和0;unsigned代表无符号,只包括正数和0。比如,signed的取值范围是-32768 ~ 32767,那么unsigned的取值范围是0 ~ 65535,当然,不同的编译器有不同的取值范围,其实,signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数
不同编译器环境下基本数据类型的存储长度
图2·不同编译器环境下基本数据类型的存储长度世界上的编译器林林总总,不同编译器环境下,取值范围和占用的长度是不一样的,不过幸运的是,ANSI \ ISO制定了以下规则:
-
short跟int至少为16位(2字节)
-
long至少为32位(4字节)
-
short的长度不能大于int,int的长度不能大于long
-
char一定为为8位(1字节),毕竟char是我们编程能用的最小数据类型
网友评论