----------------解决方案--------------------------------------------------------
回复:(PcrazyC)以下是引用cosdos在2007-11-18 21:4...
此贴作废
[此贴子已经被作者于2007-11-19 11:53:25编辑过]
----------------解决方案--------------------------------------------------------
此贴作废!
[此贴子已经被作者于2007-11-19 12:13:05编辑过]
----------------解决方案--------------------------------------------------------
我用的是*(int *)&c2[0],c2[0]是一个const 常量
[此贴子已经被作者于2007-11-18 22:33:25编辑过]
----------------解决方案--------------------------------------------------------
以下是引用cosdos在2007-11-18 22:21:17的发言:
// 这贴当没发,看楼上。
以下是引用中学者在2007-11-18 22:14:34的发言:
感觉cosdos说法有问题,c1是立即数就没自己的内存了?
感觉cosdos说法有问题,c1是立即数就没自己的内存了?
4 这个数字有地址吗。
即使不是立即数,但 const 声明的变量本来就是不能改变的。
// 这贴当没发,看楼上。
这点毋庸置疑,主要原因归于指针。
c1是普通变量,c2是一个指针常量.
c1被强制转型不会去掉常数性,
c2被强制转型时去掉常数性.
----------------解决方案--------------------------------------------------------
我用的是*(int *)&c2[0],c2[0]是一个const 常量
*(int *)&c2[0] 与 *(int *)c2 对于一维数组完全可以等价使用。
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
对于这个程序,编译器处理常量数组 的不足。
[此贴子已经被作者于2007-11-19 12:12:15编辑过]
----------------解决方案--------------------------------------------------------
常量应放在 常量数据段,但编译器对常量数组却没有做到这点。
所以才有此问题。
[刚刚想到的]
书上提到过 "字符串" ,但没有把 const 和 字符串想到一起。
[此贴子已经被作者于2007-11-19 12:18:26编辑过]
----------------解决方案--------------------------------------------------------
以下是引用cosdos在2007-11-19 12:10:48的发言:
常量应放在 常量数据段,但编译器对常量数组却没有做到这点。
所以才有此问题。
[刚刚想到的]
书上提到过 "字符串" ,但没有把 const 和 字符串想到一起。
常量应放在 常量数据段,但编译器对常量数组却没有做到这点。
所以才有此问题。
[刚刚想到的]
书上提到过 "字符串" ,但没有把 const 和 字符串想到一起。
我最开始也是这样认为的,但我把它们的地址输出后是在一个数据段的
const常量数组和字符串又不同,你对字符串进行这样的操作是非法的
----------------解决方案--------------------------------------------------------