查看單個文章
  #24  
舊 2014-02-06, 10:32 PM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 23,016
預設

引用:
作者: lukawa 查看文章
也就是記憶體管理跟指標,今天a1 a2 兩個陣列其實都是指標pointer
C語言強大在這個地方,失敗也在這個地方,我們透過指標可以快速輕易的
存取到記憶體中個個位子,但是並不是每個位子,你都是可以存取的,所以要非常的小心
你得寫法事實上已經超過這個陣列的範圍了,但是他在你得電腦上跑也許沒有問題
換個環境可能問題就會產生,這是非常討厭的,因為你有時候很難抓到這種BUG
但是也是因為這樣方便的存取記憶體的方式,所以C寫出來的程式非常的有效率,


我剛才也有自己「玩」一下,例如把for(i=1;i<11;i++)這裡改成for(i=1;i<123;i++)之類超出原來該有元素很多的數目,結果跑出來的結果十分不同,我的電腦通常會持續跑出幾十甚上百的數列,但幾乎都會跟著當掉而被迫要關掉這個程式。就如您說的,會發生不可知的結果。
__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章