但是如果在結構體中,兩個數(shù)組的內存分配是連續(xù)的。為了示例方便,我將代碼做了簡化,例如如下面的test結果體中,數(shù)組a和數(shù)組b的內存是連續(xù)的,也就是說a[9]后面跟的就是b[0].
因此在訪問a的時候,如果數(shù)組越界,就會訪問到數(shù)組b中,例如a[29]=b[19]; 因此如果不對a的數(shù)組訪問進行下標校驗,將會從b中取得數(shù)據(jù),如果在對a賦值時越界,將會對b中的數(shù)據(jù)進行修改,這將會帶來調試的巨大麻煩,表現(xiàn)形式是b數(shù)據(jù)在某個地方被修改了。
posted on 2010-07-18 01:31 role0523 閱讀(807) 評論(2) 編輯 收藏 引用
不如用vector代替你的if 回復 更多評論
@陳梓瀚(vczh) 嵌入式項目中 vector還是比較慎用的 回復 更多評論