引用:
作者: lukawa
也就是記憶體管理跟指標,今天a1 a2 兩個陣列其實都是指標pointer
C語言強大在這個地方,失敗也在這個地方,我們透過指標可以快速輕易的
存取到記憶體中個個位子,但是並不是每個位子,你都是可以存取的,所以要非常的小心
你得寫法事實上已經超過這個陣列的範圍了,但是他在你得電腦上跑也許沒有問題
換個環境可能問題就會產生,這是非常討厭的,因為你有時候很難抓到這種BUG
但是也是因為這樣方便的存取記憶體的方式,所以C寫出來的程式非常的有效率,
|
我剛才也有自己「玩」一下,例如把for(i=1;i<
11;i++)這裡改成for(i=1;i<
123;i++)之類超出原來該有元素很多的數目,結果跑出來的結果十分不同,我的電腦通常會持續跑出幾十甚上百的數列,但幾乎都會跟著當掉而被迫要關掉這個程式。就如您說的,會發生不可知的結果。