| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1490 人关注过本帖
标题:讨论一个程序(常量数组和普通常量const)
只看楼主 加入收藏
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
感觉cosdos说法有问题,c1是立即数就没自己的内存了?

樱花大战,  有爱.
2007-11-18 22:14
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
回复:(PcrazyC)以下是引用cosdos在2007-11-18 21:4...

此贴作废

[此贴子已经被作者于2007-11-19 11:53:25编辑过]


—>〉Sun〈<—
2007-11-18 22:18
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 

此贴作废!

[此贴子已经被作者于2007-11-19 12:13:05编辑过]


—>〉Sun〈<—
2007-11-18 22:21
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
我用的是*(int *)&amp;c2[0],c2[0]是一个const 常量

[此贴子已经被作者于2007-11-18 22:33:25编辑过]



雁无留踪之意,水无取影之心
2007-11-18 22:32
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
以下是引用cosdos在2007-11-18 22:21:17的发言:
以下是引用中学者在2007-11-18 22:14:34的发言:
感觉cosdos说法有问题,c1是立即数就没自己的内存了?

4 这个数字有地址吗。

即使不是立即数,但 const 声明的变量本来就是不能改变的。


// 这贴当没发,看楼上。

这点毋庸置疑,主要原因归于指针。
c1是普通变量,c2是一个指针常量.
c1被强制转型不会去掉常数性,
c2被强制转型时去掉常数性.


樱花大战,  有爱.
2007-11-18 22:32
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
我用的是*(int *)&c2[0],c2[0]是一个const 常量

*(int *)&c2[0] 与 *(int *)c2 对于一维数组完全可以等价使用。

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

对于这个程序,编译器处理常量数组 的不足。

[此贴子已经被作者于2007-11-19 12:12:15编辑过]


—>〉Sun〈<—
2007-11-18 22:49
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
常量应放在 常量数据段,但编译器对常量数组却没有做到这点。
所以才有此问题。

[刚刚想到的]

书上提到过 "字符串" ,但没有把 const 和 字符串想到一起。

[此贴子已经被作者于2007-11-19 12:18:26编辑过]


—>〉Sun〈<—
2007-11-19 12:10
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
以下是引用cosdos在2007-11-19 12:10:48的发言:
常量应放在 常量数据段,但编译器对常量数组却没有做到这点。
所以才有此问题。

[刚刚想到的]

书上提到过 "字符串" ,但没有把 const 和 字符串想到一起。


我最开始也是这样认为的,但我把它们的地址输出后是在一个数据段的

const常量数组和字符串又不同,你对字符串进行这样的操作是非法的


雁无留踪之意,水无取影之心
2007-11-19 13:34
快速回复:讨论一个程序(常量数组和普通常量const)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045935 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved