c/c++ 二维数组问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:18:13
char i[3][3]={{'s','f','t'},{'d','g','u'},{'c','h','y'}};
cout<<i[1000]<<&i[1000]; 随便写的代码怎么不报错;好像数组已经越界了吧.

C/C++编译器不对数组的界限作检查,不然哪还用学那么多呀。
i[1000]是从i[0]的那块地址开始从后数1000个i的内存空间的一块内存,C/C++语言可以随便访问内存,所以C/C++存在安全隐患!要养成一个做好的习惯,不要随便访问和修改未知内存!

越界了 但编译器不会报错 在于程序员自己去注意这些 你们老师因该说了吧?