学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

[原创]对const使用的理解.

回楼上,实际编译时,
printf("%d",a);
会被直接用立即数代替进行编译,即变成
printf("%d",3);

这是我的编译器的结果,并且是在非调试模式下



by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/bbs/
Blog: http://yzfy.org/blog/blog.php?uid=2

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
by 雨中飞燕 C/C++学习群:46520219 3996098 61762856 57909089
C/C++学习网站: http://yzfy.org/

TOP

回复:(雨中飞燕)[quote]但事实上,a的值是可能改变的...

我在Red Hat Linux 9.0的版本上试了一下.
完全可以.


附件: 您所在的用户组无法下载或查看附件
应广大C语言学习者的强烈要求,为了让更多的人能够使用上<<C语言库函数查询器>> 。产品的价格调整为20元人民币,欢迎广大C语言学习来购买。联系QQ:475818502,E-mail:zhaoxufeng9997@126.com,也可留言.

TOP

我在DEV_C++和VC 6.0中运行的结果都是3
雁无留踪之意,水无取影之心

TOP

我在TC2.0下运行可以.
应广大C语言学习者的强烈要求,为了让更多的人能够使用上<<C语言库函数查询器>> 。产品的价格调整为20元人民币,欢迎广大C语言学习来购买。联系QQ:475818502,E-mail:zhaoxufeng9997@126.com,也可留言.

TOP

楼上在12楼发的图片表明了什么?
我并没有看到你的程序的运行结果,你只说明可以编译成功而已



by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/bbs/
Blog: http://yzfy.org/blog/blog.php?uid=2

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
by 雨中飞燕 C/C++学习群:46520219 3996098 61762856 57909089
C/C++学习网站: http://yzfy.org/

TOP

此贴作废

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

附件: 您所在的用户组无法下载或查看附件
—>〉Sun〈<—

TOP

const 的实质只是对被修饰的对象不能改变,但是任何间接引用改对象都会被改变。飞燕举的例子就能说明~
从这个性质还可以引申到new和delete的动态分配,即是指针被释放,但是那块堆内存还是可以被指针取用的,为了防止这种取用,释放后还应将指针赋值为NULL~

汇编.....

TOP

cosdos原来的帖子说的那么好干嘛删了???



by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/bbs/
Blog: http://yzfy.org/blog/blog.php?uid=2

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
by 雨中飞燕 C/C++学习群:46520219 3996098 61762856 57909089
C/C++学习网站: http://yzfy.org/

TOP

回复:(雨中飞燕)楼上在12楼发的图片表明了什么?我...

这个图片能不能说明问题?...

附件: 您所在的用户组无法下载或查看附件
应广大C语言学习者的强烈要求,为了让更多的人能够使用上<<C语言库函数查询器>> 。产品的价格调整为20元人民币,欢迎广大C语言学习来购买。联系QQ:475818502,E-mail:zhaoxufeng9997@126.com,也可留言.

TOP

对 const 的处理只能说是编译器作的还不够。
const 声明的变量应当放在 常量数据段。

如 "字符串"

char * p = "abd";
char * pc = p;

pc[0] = 'x'; // 这个完全是不可行的,可以通过编译,
// 运行程序后,操作系统会结束该程序,
// 并且可能弹出窗口 “是否发送错误消息”。


所以我的帖子都作废了。

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

—>〉Sun〈<—

TOP

发新话题