首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

变量内存储器中的数据和变量地址里面的数据不一致!非常奇怪

2013-02-24 
变量内存中的数据和变量地址里面的数据不一致!非常奇怪[解决办法]因为 *pb4 这是未定义行为当你修改i时,

变量内存中的数据和变量地址里面的数据不一致!非常奇怪

                            
[解决办法]
因为 *pb=4; 这是未定义行为
当你修改i时,使用强制转化只表示语法正确,语法正确并不表示其行为就是可期待的
简单的说,你使用强制转化之前先得确保这么做是可行的
(对于你这个具体问题,编译优化是实现的根本原因,但不是C语言标准层次上的根本原因)
[解决办法]
google “常量折叠”
[解决办法]
编译器遇到i会将i直接编译成3,遇到*(&i)也编译成3。
*pb=4; pb指向的内存实际被修改

热点排行