强制类型转换?

Posted 柒月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强制类型转换?相关的知识,希望对你有一定的参考价值。

总:

01:目 > 源    多放越界 ?

02:目 < 源    少放遗漏 ?

问题一:

技术分享图片

问题二:

技术分享图片

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

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

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





以上是关于强制类型转换?的主要内容,如果未能解决你的问题,请参考以下文章

Java中的强制类型转换是如何转换的?

C语言强制类型转换

怎样让vs2013不进行强制类型转换

怎么把Map类型强制转换成List类型??

请问double型可以强制转换成int型吗?

java 强制类型转换的规则是啥?