儲存無效指標是否會自動導致未定義行為?
在程式設計中使用指標時,會出現以下問題:是否僅儲存無效記憶體位址在指標變數中構成未定義的行為。許多指針算術運算都依賴這種實踐,而指標本身本質上就是整數。
在某些情況下,甚至將無效指標載入到暫存器中的行為也可能被視為未定義行為。這是因為當嘗試進行此類操作時,某些體系結構會自動回應錯誤。
C 草稿標準,第6.5.6/8 節定義了指標運算元指定陣列物件的元素和結果的場景指向距離起始元素的元素偏移量,與所使用的整數表達式成正比。
在其他情況下,表達式指向陣列物件的最後一個元素。然而,這些情況都不適用於儲存無效指標的情況。陣列不夠大,無法容納指標偏移調整,初始指標或結果指標也不表示與陣列末端相鄰的元素。
以上是在 C 中分配無效的指標位址會自動產生未定義的行為嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!