小編給大家分享一下c語(yǔ)言中數(shù)組越界是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
比如數(shù)組定義時(shí)有十個(gè)元素,那么a[0] --a[9]分別對(duì)應(yīng)相應(yīng)的元素,在程序中如果使用了a[10]那么就超出了原來(lái)o的數(shù)組定義的范圍,這就是數(shù)組下標(biāo)越界。
數(shù)組越界是什么意思
c和c++語(yǔ)言中數(shù)組下標(biāo)越界,編譯器是不會(huì)檢查出錯(cuò)誤的,但是實(shí)際上后果可能會(huì)很?chē)?yán)重,比如程序崩潰等,所以在日常的編程中,程序員應(yīng)當(dāng)養(yǎng)成良好的編程習(xí)慣,避免這樣的錯(cuò)誤發(fā)生。
VB中的數(shù)組越界
12、引用了不存在的數(shù)組元素
下標(biāo)可能比下標(biāo)范圍大或小,或是在應(yīng)用程序中這一邊的數(shù)組沒(méi)有指定范圍。檢查數(shù)組的聲明以確認(rèn)其上界和下界。若使用的是重新指定范圍的數(shù)組,應(yīng)使用UBound和LBound函數(shù)來(lái)決定數(shù)組訪(fǎng)問(wèn)。如果索引指定為變量,應(yīng)檢查變量名的拼寫(xiě)。
聲明數(shù)組時(shí)沒(méi)有指定元素的數(shù)目。例如,下列的代碼就會(huì)導(dǎo)致此錯(cuò)誤:DimMyArray()AsInteger
MyArray(8)=234'導(dǎo)致錯(cuò)誤9。VisualBasic并不會(huì)將沒(méi)有指定范圍的數(shù)組自動(dòng)設(shè)為0–10。相反必須使用Dim或ReDim來(lái)指定數(shù)組中元素的數(shù)目。
2、引用了不存在的集合成員。
試著使用ForEach...Next結(jié)構(gòu)代替指定元素下標(biāo)。使用速寫(xiě)形式的下標(biāo),結(jié)果指定了錯(cuò)誤的元素。
數(shù)組下標(biāo)越界是一個(gè)程序初學(xué)者最容易犯的錯(cuò)誤之一。
以一個(gè)簡(jiǎn)單的一維數(shù)組為例:
inta[10];這是一個(gè)整型的數(shù)組a,有10個(gè)元素:a[0]-a[9],因?yàn)檎_的下標(biāo)應(yīng)該是從0開(kāi)始,到9結(jié)束,與生活習(xí)慣中的1-10不一樣,于是產(chǎn)生一個(gè)a[10]的錯(cuò)誤,即數(shù)組下標(biāo)越界。
c和c++語(yǔ)言中數(shù)組下標(biāo)越界,編譯器是不會(huì)檢查出錯(cuò)誤的,但是實(shí)際上后果可能會(huì)很?chē)?yán)重,比如程序崩潰等,所以在日常的編程中,程序員應(yīng)當(dāng)養(yǎng)成良好的編程習(xí)慣,避免這樣的錯(cuò)誤發(fā)生。
若編輯網(wǎng)頁(yè)時(shí)提示“數(shù)組下標(biāo)越界”,除檢查下上述問(wèn)題外,再檢查下文件中變量名稱(chēng)是否一致,很多時(shí)候是變量名稱(chēng)不一致所致
使用的角標(biāo)大于等于數(shù)組的長(zhǎng)度或?yàn)樨?fù)數(shù)!
以上是“c語(yǔ)言中數(shù)組越界是什么意思”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標(biāo)題:c語(yǔ)言中數(shù)組越界是什么意思-創(chuàng)新互聯(lián)
當(dāng)前URL:http://chinadenli.net/article0/jgjio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、商城網(wǎng)站、ChatGPT、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容