C语言之数据类型学习笔记

数据类型的本质作用:合理的利用空间

基础数据类型

char、int、long、short、unsigned、signed、float、double、void

自定义数据类型

结构体struct

结构体变量占据的内存单元的个数应当大于等于其内部所有数据成员占据内存单元数的和。

出于效率的考虑,C语言引入了字节对齐机制,一般来说,不同的编译器字节对齐机制有所不同,但还是有以下3条通用准则:

1、结构体变量的大小能够被其最宽基本类型成员的大小所整除;

2、结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);

3、结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后填充字节(trailing padding);

联合体union

共用起始地址的一段内存

enum枚举

被命名的整型常数的集合

typedef 数据类型的别名

你可能感兴趣的:(C/C++)