0

我最近开始用 C 编程,我注意到,有时,当我不小心将数组指向“-1”时,数组会转到最后一个元素。为什么会这样?

编辑:作为一个例子,我正在建立一个森林火灾模型,有时,当森林边缘有一棵燃烧的树时,森林的另一边会弹出新的燃烧树,而不会抛出任何错误

4

2 回答 2

6

这是未定义的行为
编译器允许恶魔飞出你的鼻子

在实践中,这通常会在数组之前访问内存,这可能会崩溃。

于 2013-04-14T02:12:46.803 回答
2

他们没有。只是 C 不会检查您是否正在走出数组;当你这样做时,结果是不可预测的。看看这个网站,看看链接的教程(旧的,但很好)。还有一个关于 C 中指针和数组的教程的链接。

C 是一种为实现最佳性能而设计的语言,因此假定程序员确切地知道自己在做什么。没有训练轮,没有安全网。当你习惯了这一点时,你就会得到解脱;可怕到那时。坚持下去,了解正在发生的事情,然后玩得开心。

于 2013-04-14T02:17:09.643 回答