但是如果在結構體中,兩個數組的內存分配是連續的。為了示例方便,我將代碼做了簡化,例如如下面的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 閱讀(801) 評論(2) 編輯 收藏 引用
不如用vector代替你的if 回復 更多評論
@陳梓瀚(vczh) 嵌入式項目中 vector還是比較慎用的 回復 更多評論