打印

简单的问题

[复制链接]
1517|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
datreexia|  楼主 | 2009-7-1 09:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
datreexia|  楼主 | 2009-7-1 10:02 | 只看该作者

刚查了一下

刚查了一下输出的汇编文件,是引用下一个单元,和指针一样。
那数组和指针不一样的地方是哪里呢?

使用特权

评论回复
板凳
YZHJ| | 2009-7-1 10:18 | 只看该作者

要小心啊

如果只是读取一下还好点,要是写的话,天知道会出现什么结果。关键是编译器不会报错误提醒的。
以前吃过这方面的亏,现在对数组操作都非常小心。编程的时候通常要加些限制性的保护,努力做到可控、不出圈。如果资源宽裕的话,可以把数组开的稍微大些。比如需要8个的,咱就开10个,以防万一!

使用特权

评论回复
地板
datreexia|  楼主 | 2009-7-1 10:39 | 只看该作者

谢谢

这样啊,知道了

使用特权

评论回复
5
andrew007| | 2009-7-1 12:01 | 只看该作者

谨慎谨慎再谨慎啊

最郁闷的就是编译器都不会报错的,这是几乎所有C/C++方面编译器的弊端,也很难改进.只能自己留心咯,正像YZHJ所说,适当开大点数组范围.
我一起那也犯过此类错误,折腾了很久.

使用特权

评论回复
6
耕在此行| | 2009-7-1 20:23 | 只看该作者

开大点没用啰

还是要防止跑出界

使用特权

评论回复
7
ayb_ice| | 2009-7-1 21:01 | 只看该作者

那就取地址后面的值

使用特权

评论回复
8
datreexia|  楼主 | 2009-7-2 08:20 | 只看该作者

我也这样认为

我觉得,防止跑出界才最重要,在编程过程中注意

使用特权

评论回复
9
auzxj| | 2009-7-2 08:29 | 只看该作者

ARRY就是指向ARRY[0]的指针

ARRY就是指针ARRY偏移i,对编译器来说ARRY和其他指针没有任何区别
C语言语法检查不是特别严格,很多需要程序员自己去把握,所以才相对灵活
建议楼主看一下谭浩强的C语言书,关于指针和数组里面讲得很透彻

使用特权

评论回复
10
lelee007| | 2009-7-2 09:03 | 只看该作者

ANSI C里边规定是紧接着数组后面存放的一个单元

这个也要看编译器

毕竟你的代码还要经过编译器的

编译器不遵照ANSI C,那就不好说了

使用特权

评论回复
11
mohanwei| | 2009-7-2 09:08 | 只看该作者

这是优点,不是弊端

使用特权

评论回复
12
hyg1984| | 2009-7-2 21:02 | 只看该作者

同意10楼的

应该是RRY[9]的下一单元地址的内容,具体是什么,那就不知道了。可能是空的,也可能是乱码。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

91

帖子

0

粉丝