数组强制转换成结构体指针
来源:互联网 发布:手机点菜软件免费版 编辑:程序博客网 时间:2024/06/11 10:33
今天看公司代码,遇到一个数组指针强制转换成结构体指针的地方,就在想这样做的结果会是什么,和别人讨论了一下。得到结果是,这样做是让结构体按照自己的属性重新读取数组中的数据,
字节对齐
如果结构体中所有属性所占字节和数组的类型所占字节一样(如果数组类型是16位的,属性也是16位的),那就直接按照属性的顺序,将数组中的数据依次读取出来(是读取,不是复制,因为是指针强制转换)
字节不对齐
如果结构体属性所占字节数和数组的类型不一样,那样数据就会乱,结构体会按照属性的类型依次读取类型长度的数据,然后数据就会乱了
大小端
这个自然也是很有影响的,如果写的时候默认小端模式,而芯片中确实大端模式,那样数据就会直接读成倒的了,如数组 { 0x1234,0x5678 } ,强制转换成结构体指针后,假设默认是小端模式,作者认为结构体中两个数据应该为{ data1= 0x1234 , data2=0x5678 },而芯片实际是大端模式,那CPU读取的数据就是{ data1=0x7856, data2=0x3412 }
阅读全文
1 0
- 数组强制转换成结构体指针
- 数组指针强制转换
- 结构体指针强制类型转换
- C语言 结构体指针强制转换
- c中结构体指针的强制类型转换
- 结构体类型的指针的强制转换
- 结构体类型的指针的强制转换
- 强制类型转换成结构体
- C语言数组、指针强制类型转换
- 数组指针、指针数组、地址的强制转换内存布局
- 数组指针、指针数组、地址的强制转换内存布局
- 数组指针、指针数组、地址的强制转换内存布局
- 指针的强制转换,char*转结构体指针,该怎么处理
- 指针的强制转换,char*转结构体指针,该怎么处理
- 结构体类型强制转换
- 结构体类型强制转换
- 结构体强制类型转换
- 结构体相关的计算(结构体指针加一以及强制类型转换后加一)
- Lintcode两个字符串是变位词
- BZOJ 3632: 外太空旅行
- jenkins填坑
- IDEA中设置main方法自动补全
- Java语言基础学习笔记(八)
- 数组强制转换成结构体指针
- 【洛谷】2344 奶牛抗议 DP+树状数组
- 在阿里云上创建svn
- 【堆+贪心】BZOJ1150 [CTSC2007]数据备份Backup
- App测试方法总结
- android6.0权限封装及全局捕获异常
- Kafka文件存储机制那些事
- spring data jpa
- Web应用