[問題] 請教C array的一個問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB on Windows
Dear all
想跟大家討論一個問題
請問以下為何還可以執行?
小弟在BCB上面編code 寫tool
今天才發現自己宣告一個buffer array才4096個
buf array是用來放data到一塊memory table UI裡面
char buf[4096]
但是卻可以access超過4095
for(i=0;i<8192;i++)
buf[i] ----> 居然沒事???
照理說buf[4096]~buf[8191]就會出問題
但是居然都沒有出現錯誤
而且tool可以正常使用
我檢查過超過4096之後的值都還顯示正確
目前還無法理解為什麼沒有出錯
是BCB compiler有動什麼手腳讓我這樣寫不會出錯嗎?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.78.229.190
→
11/16 16:06, , 1F
11/16 16:06, 1F
→
11/16 16:07, , 2F
11/16 16:07, 2F
→
11/16 16:07, , 3F
11/16 16:07, 3F
→
11/16 16:14, , 4F
11/16 16:14, 4F
→
11/16 16:15, , 5F
11/16 16:15, 5F
→
11/16 16:16, , 6F
11/16 16:16, 6F
→
11/16 16:16, , 7F
11/16 16:16, 7F
→
11/16 16:17, , 8F
11/16 16:17, 8F
→
11/16 16:18, , 9F
11/16 16:18, 9F
→
11/16 16:19, , 10F
11/16 16:19, 10F
→
11/16 16:21, , 11F
11/16 16:21, 11F