首页 > 其他 > 详细

强制类型转换?

时间:2018-03-11 20:13:22      阅读:206      评论:0      收藏:0      [点我收藏+]

总:

01:目 > 源    多放越界 ?

02:目 < 源    少放遗漏 ?

问题一:

技术分享图片

问题二:

技术分享图片

分析:大端序存储顺序:高地址存储低位字节,低地址存储高位字节;小端序存储顺序:低地址存储低位字节,高地址存储高位字节。函数对4字节序的修改只会修改2个字节,在大端序cpu中修改高位字节导致错误。

强制转换灵活性/安全性总结:

1,当目的结构的空间大于源结构的空间时,考虑越界问题。 
2,当目的结构的空间小于源结构的空间时,考虑字节序(大小端)问题。 
3,在把某些变量或数组或结构强制转换为另一种结构体时,需要考虑字节对齐问题。 
4,基本数据类型(char,int,short,long)的强制类型转换比结构体之间的强制类型转换更容易出现上诉情况。 
5,不要将字符串常量强制转换为字符指针(const char * —-> char *),以免导致改写只读数据的段错误

强制类型转换?

原文:https://www.cnblogs.com/Ph-one/p/8545239.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!