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