C语言中使用变量时需要先定义数据类型,定义数据类型后,编译器自动分配适当的存储空间。比如定义unsigned char型变量,分配1个字节的存储空间。 在不同MCU平台使用C语言编写代码时,需要注意基本数据类型占用字节数,比如Cx51和ARM-C在定义signed int类型时占用的字节分别为2字节和4字节。 Cx51和ARM-C存在的主要差异有: 数据类型Cx51ARM-C
signed int2字节4字节
unsigned int2字节4字节
double4字节8字节
point3字节(默认)4字节在Cx51编译器环境下,支持的基本数据类型大小及取值范围如下表:
其中bit, sbit, sfr 和 sfr16四种数据类型在标准C语言中是没有的,仅在Cx51环境下存在。 作为对比,ARM-C的基本数据类型大小及取值范围如下表:
|