內存訪問越界
發布時間: 2024-09-11 07:54:47
① 內存越界是什麼意思
內存越界是軟體系統主要錯誤之一,其後果往往不可預料且非常嚴重。更麻煩的是,它出現的時機是隨機的,表現出來的症狀是隨機的,而且造成的後果也是隨機的,這會使程序員很難找出這些Bug的現象和本質之間的聯系,從而給Bug的定位帶來極大的困難。
讀越界,即讀了不屬於自己的數據。如果所讀的內存地址是無效的,程序立刻崩潰;如果所讀內存地址是有效的,在讀的時候不會馬上出現問題,但由於讀到的數據是隨機的,因此它會造成不可預料的後果。
(1)內存訪問越界擴展閱讀:
內存數組越界錯誤主要包括數組下標取值越界和指向數組的指針的指向范圍越界。
數組下標取值越界主要是指訪問數組時,下標的取值不在已定義好的數組的取值范圍,而訪問的是無法獲取的內存地址,若取值不在這個范圍,就出現越界錯誤。
指向數組的指針的指向范圍越界表示當定義的指針 p 若指向了數組的首地址時(即 p=a),若對其不斷進行操作 p++,則最後會導致指針 p 指向大於該數組范圍的上界,從而使程序訪問了數組以外的存儲單元,造成數組越界。
熱點內容