错误前提:字符数组强制转换成struct指针,转换后值始终不对
环境:keil
原因:
在一般的编译器中,都对结构体进行了双字节对齐的方式,如果结构体有char类型,实际上编译后,该处将占两个字节,可以使用#pragma pack(1),强制编译器按照字节方式对齐
本文探讨了在Keil环境中从字符数组强制转换为结构体指针的问题,并解释了为何这种转换会导致值不正确的原因。文章指出,在多数编译器中结构体默认采用双字节对齐,而char类型实际占用两字节。通过使用#pragmapack(1)指令可以使编译器按字节对齐,解决转换问题。
错误前提:字符数组强制转换成struct指针,转换后值始终不对
环境:keil
原因:
在一般的编译器中,都对结构体进行了双字节对齐的方式,如果结构体有char类型,实际上编译后,该处将占两个字节,可以使用#pragma pack(1),强制编译器按照字节方式对齐

被折叠的 条评论
为什么被折叠?