码迷,mamicode.com
首页 > 其他好文 > 详细

强制类型转换?

时间:2018-03-11 21:06:22      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:nbsp   src   cpu   jsb   图片   总结   之间   基本数据类型   字符串常量   

总:

01:目 > 源    多放越界 ?

02:目 < 源    少放遗漏 ?

问题一:

技术分享图片

问题二:

技术分享图片

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

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

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

强制类型转换?

标签:nbsp   src   cpu   jsb   图片   总结   之间   基本数据类型   字符串常量   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!