李永亮的专栏

设计改变中国!

数组越界不等于异常

察看如下代码:
struct TestStruct
{
       char str[8];
       int i;
};
char str[8] ="abcdefg";
TestStruct test[2]={0,1};
for(int i = 0 ;i<=2;i++)
{
test[i].i = i+1;

       printf("&test[%d] = 0x%X/n",i,&test[i]);

}
       这段代码给出了的循环有数组越界。但是并不会出现异常,通常这样的错误发现不了。但是后果严重,数组修改了栈的前面,这是灾难性的,因为不知道什么地方被修改了。错误不可怕,可怕的是难以发现,这样的错误一定要避免,否则等着挠头吧。
阅读更多
文章标签: struct
个人分类: 常见错误总结
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭