但是如果在结构体中,两个数组的内存分配是连续的。为了示例方便,我将代码做了简化,例如如下面的test结果体中,数组a和数组b的内存是连续的,也就是说a[9]后面跟的就是b[0].
因此在访问a的时候,如果数组越界,就会访问到数组b中,例如a[29]=b[19]; 因此如果不对a的数组访问进行下标校验,将会从b中取得数据,如果在对a赋值时越界,将会对b中的数据进行修改,这将会带来调试的巨大麻烦,表现形式是b数据在某个地方被修改了。
posted on 2010-07-18 01:31 role0523 阅读(771) 评论(2) 编辑 收藏 引用
不如用vector代替你的if 回复 更多评论
@陈梓瀚(vczh) 嵌入式项目中 vector还是比较慎用的 回复 更多评论