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

(int)c是不是将c这个变量复制一份,转换复制的变量,还是将变量的值复制一份,转换复制的值呢?解决办法

2012-05-23 
(int)c是不是将c这个变量复制一份,转换复制的变量,还是将变量的值复制一份,转换复制的值呢?(int)c是不是将

(int)c是不是将c这个变量复制一份,转换复制的变量,还是将变量的值复制一份,转换复制的值呢?
(int)c是不是将c这个变量复制一份,转换复制的变量,还是将变量的值复制一份,转换复制的值呢?
到底是复制变量,还是复制值?

[解决办法]

探讨
引用:

引用:
(类型名)表达式
强制转换的精确含义是,表达式首先被赋给类型名指定类型的某个变量,然后再将其用在整个
构造所在的位置。


注意,强制转换只是以指明的类型产生n的值, n本身的值没有改变。

表达式首先被赋给类型名指定类型的某个变量,然后再将其用在整个
构造所在的位置。……

[解决办法]
是的 强制转换以后就是再堆栈中重新开一个4字节的单元存储这个转换以后的值 你可以用gdb查看以下堆栈 在举例说明下:如果有一个int i=1; 然后强制转换 (double)i 可以想象结果也是1 但是众所周知 double 的存储格式跟int是不一样的(高位为正负位 其次是11位的其他位(具体自己查阿 我忘记这个叫什么啦) 然后是52位的数据位) 如果不重新开辟地址怎么办? 请记住这个可是完全不一样的存储哈

热点排行