关于uint8_t数据类型的理解

我们知道的常用数据类型有char、int、double、flout、string、struct等,其实这里的uint8_t不是什么新的数据类型,他只是用typedef定义出来的一个东东,那么为什么会有uint8_t数据类型的出现呢,其实主要是为了预防程序在不同平台之间移植会出现不兼容性,如果我们看到一个int类型数据,我们并不知道他有多少位,因为有的运行平台是32位系统,有点是64位,并且由于编译器等的不同都会导致int类型数据的大小不一样,那么如何避免由于系统或编译器不同导致的程序移植的不兼容性呢,我们就想到了使用typedef自己定义几个数据类型,将容易出现“不和谐”的几个变量使用我们自己定义的数据类型,并且将typedef定义在自己的头文件中,这样就既稳定又方便了。也许你会问,为什么我看到的代码中,只看到了使用uint8_t数据类型,没看到关于他的头文件呢,是这样的,在c99中提供了一个可选的名字集合,用来确切的描述数据类型大小,例如int16_t表示一个16位有符号的整数类型,并且c99已经将这一系列定义在了一个名字叫做inttypes.h的头文件中了,不过并不一定你的编译器就包括这个头文件哦。相信到这里你已经明白了uint8_t数据类型存在的意义,如果没有#include <inttypes.h>,至于他们的大小,只有你才知道,你定义多大,那他就是多大,如果你喜欢你可以定义typedef  unsigned char uchar123_t或者typedef  unsignet char uchar321_t,不过尽量要让名字具有可读性哦。


参考资料:c primer plus(第五版) 中文版 第46页



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值