byte类型的问题

2019-03-26 12:26发布

最近看到一个定义,几个不同的变量被定义为byte数据类型,但是占用的字节数有1, 8, 16,  但是我查了标准c没有这个表达方式。很是困惑这一点,求助

此帖出自Linux与安卓论坛
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
lcofjp
1楼-- · 2019-03-27 07:44
青城山下 发表于 2016-11-18 12:43
如果一个协议中定义了byte分别有1,4,8个字节,是不是要使用typedef 分开定义

可能是你的描述出了问题,“byte”也被你神话了。
或许你的意思是需要用union来解决的那个问题,一种类型,可能占用1,4,8字节,但是具体不定。但是这种类型用“byte”来描述,完全不恰当。
union SomeType{
uint8_t xxx;
uint32_t xxx;
uint64_t xxx;
};
青城山下
2楼-- · 2019-03-27 12:27
lcofjp 发表于 2016-11-18 12:53
我觉得你需要自定义不同的类型,不能就使用一个byte类型,这样代码容易出问题。
不知道是哪个SB定义的协 ...

协议里不同字节的不同变量都用byte来标示数据类型,我也是迷糊了半天
青城山下
3楼-- · 2019-03-27 14:36
lcofjp 发表于 2016-11-18 12:57
可能是你的描述出了问题,“byte”也被你神话了。
或许你的意思是需要用union来解决的那个问题,一种类 ...

就是这样的
lcofjp
4楼-- · 2019-03-27 19:57
青城山下 发表于 2016-11-18 15:36
就是这样的

无语,那个相当于单位,就是8Byte,1Byte,4Byte,这个都理解不了吗。。。
青城山下
5楼-- · 2019-03-27 22:16
 精彩回答 2  元偷偷看……
lcofjp
6楼-- · 2019-03-28 04:09
青城山下 发表于 2016-11-18 15:41
有的变量数据类型还是写着short  double ,累积在一起,

也就是说另外定义相应数据长度的类型吗

最后那两列之间没有什么必然联系,倒数第二列是总的字节数(不是数据类型的字节数),后面的数据类型

一周热门 更多>