首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么C数组要“回绕”

为什么C数组要“回绕”
EN

Stack Overflow用户
提问于 2013-04-14 10:11:35
回答 2查看 263关注 0票数 0

我最近开始用C语言编程,我注意到,有时,当我不小心将一个数组指向'-1‘时,该数组会转到最后一个元素。这一切为什么要发生?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-14 10:12:47

这是未定义的行为

允许编译器生成demons fly out of your nose

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

票数 6
EN

Stack Overflow用户

发布于 2013-04-14 10:17:10

它们不会,只是C不会检查你是否在数组之外;当你这样做的时候,结果是不可预测的。看看this site,看看链接的教程(旧的,但很好)。还有一个指向C语言指针和数组教程的链接。

C语言是为最大限度地提高性能而设计的语言,因此假定程序员确切地知道她在做什么。没有训练轮,没有安全网。当你习惯了这一点时,你就解放了;直到那时,你才会变得恐惧。坚持下去,了解正在发生的事情,并享受乐趣。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15995014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档