Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
10 lines (6 sloc) 665 Bytes

第一章

问题6:

C语言并不执行数组下标的有效性检查。你觉得为什么这个明显的安全手段会从语言中省略?

答: 主要有以下两方面原因:

  1. 效率。执行检查需要由编译器处理,要进行在程序中插入指令,并用相应的空间保存数组信息,还要考虑到信息更新问题。所以这项操作不信影响程序运行效率还占用空间,有的编译器里面提供这样的功能但同时也会增加一些开关来控制是否检查下标。
  2. 指针。指针只存储地址信息,虽然造成了无法检查是否越界,但这样在实际操作中灵活性很大。
You can’t perform that action at this time.