C语言为什么不检查数组越界

如题所述

一方面是为了运行效率。
另外最主要,C语言的特征就是直接操作地址,自由度高,指针就是为此存在,检查越界会限制程序员的自由度。所以自由是要付出代价的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-23
检查数组越界比较复杂,因为涉及许多的间接访问方式,比如用指针访问
检查数组越界在编译阶段由于上边原因很难做到;在程序运行阶段就更难做到了。为减少这方面带来的编译器和运行环境方面的开销,这部分工作就省去不做了。
但不拒绝在操作系统层面做这方面的检查、在c语言调试环境的Debug也可以做这方面工作,你也可以利用c语言编程,编写自己专门检测数组越界的代码,做到预设的提示、更正等处理。本回答被网友采纳
第2个回答  2018-03-23
浪费内存,降低运行效率
第3个回答  2018-03-23
为了速度有效率。 每次检查都是需要消耗 cpu 资源的。
相似回答