光头抹什么保养头皮:数组拾遗

来源:百度文库 编辑:偶看新闻 时间:2024/05/18 10:55:53

  写这篇文章的主要目的就是为了记录下来平常我们用数组的时候不是很注意的问题!!!

  • 下标越界?12345678#include using namespace std;int main(){    int b[10];    b[10]=3;    cout<<"b[10]="<}

      上面这个程序会输出b[10]=3;但是只要我们细心就可以发现,b[10]其实只包括了从b[0]~b[9]。那么这里的b[10]不就是越界了嘛!!!这个错误会让紧接着b这个数组之后的内存被强行赋值为3!这当然是应该避免的了。但是由于标准的C++代码不限制下标越界,虽然这样做可以使代码的运行速度加快,效率提高,但是这会很容易地修改其他变量的值,而且不容易发现。解决办法只有一个:我们应该经常留意数组的下标值是否在合理的范围之内。
p.s. 由于本人用的是vs2008,貌似它会在运行的时候报错,如下图: