获取和确定TLE9843_2QX芯片的基本数据类型的长度

本文通过在TLE9843_2QX芯片上运行代码,探究了基本数据类型如char、int、float等的长度,并对比了char类型和int类型数组的长度,提出在空间受限环境下使用char类型数组节省存储空间的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int a,b,c,d,e,f,g,h,i,j,k,l,m;

typedef  char int8;

int8  fourInt8[4]  = {1,2,3,4};

int   fourInt32[4] = {1,2,3,4};

const int x = 90;

int main(void)
{
a=sizeof(char);

b=sizeof(unsigned char);

c=sizeof(short int);

d=sizeof(unsigned short int);

e=sizeof(int);

f=sizeof(unsigned int);

g=sizeof(float);

h=sizeof(long);

i=sizeof(long long);

j=sizeof(double);

k=sizeof(long double);

l=sizeof(fourInt8);

m=sizeof(fourInt32);


return 0;

}

a、b、c、d、 e、 f、 g、 h、 i、 j 、k  分别用来获取char、 unsigned char、 short int、 unsigned short int、int、 unsigned int、float、long、long long、double、long double的长度。

l用来获取字符类型的数组fourInt8的长度,m用来获取整型类型的数组fourInt32的长度

编译完代码之后,将可执行文件下载到TLE9843_2QX芯片中,点击【D]进入debug模式,点击运行,调出Watch1窗口,查询

a、b、c、d、 e、 f、 g、 h、 i、 j 、k 、l、m的值

 

 由运行结果可以推论,在TLE9843_2QX芯片平台上的基本数据类型的长度分别为:

基本数据类型长度(bit)长度(byte)
char81
unsigned char81
short int162
unsigned short int162
int324
unsigned int324
float324
long324
long long648
double648
long double648

而char类型的数组l的长度为4 bytes,int类型的数组长度为16 bytes。且两个数组的内容是一样的,所以如果想

节省空间,而且数组元素的值不超过一定范围(2^8),可以将数组的类型定义为char类型而不是int类型,这样

可以节省很大一部分Flash存储空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WangLanguager

您的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值