C 標準允許取得陣列元素的位址嗎?
下面的程式碼片段引發了關於根據C 標準,其有效性:
具體來說, &array[5] 是合法的C 表達式嗎在這種情況下?
根據C 標準的合法性
C 標準定義了此表達式的合法性:
解釋
透過將這些規則應用於&array[5],我們有:
由於(數組5)點超出數組末尾且未取消引用,它是符合C 標準的合法表達式。
與C 標準的比較
此行為也符合C 標準,它允許獲取超出數組末尾的元素的位址,前提是它們不是
不同處理的原因
對數組5 和&array[4] 1 進行不同處理的決定源自於這些表達式的不同目的:
以上是取得 C 數組末尾的位址合法嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!