打印
[应用方案]

数据类型占用空间大小及取值范围

[复制链接]
101|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1988020566|  楼主 | 2024-9-17 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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的基本数据类型大小及取值范围如下表:


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

399

主题

10584

帖子

6

粉丝