精華區beta NAOE-87 關於我們 聯絡資訊
※ 引述《b7505002 (陣列怎麼寫?)》之銘言: : ※ 引述《twwang (前途要靠自己創造)》之銘言: : : 堅持要用的話 用const int i=10; 吧 : : 陣列元素當你這樣指定的時候一定要是常數啦! : : 不過這樣用﹍﹍還是有點龜毛﹍﹍﹍ : 其實我硬是要這麼設的原因是因為在程式接受外來的數值時, : 根本不知道有多少個數會進來, : 萬一進入的數值太多以至於超出陣列所能存的個數時, : 就會破壞到機械碼,然後就當機, : 接下來就只能乞求老天硬碟的資料不要被破壞... 課本上有個不錯的方法… 就是先將檔案傳進來數字用一個變數來接 在把這個變數名當矩陣的元素值 醬就可以做到控制矩陣大小啦… 不過比較好的做法聽學長講是用指標…不過不會用 … 你不是跟我同一題嗎… 我寫出來了呦 要不要程式碼呀^^ -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: IP017.dialup.nt > -------------------------------------------------------------------------- < 作者: b7505002 (陣列怎麼寫?) 看板: NAOE-87 標題: Re: 輔大資管mission complete 時間: Sun May 16 13:37:59 1999 ※ 引述《twwang (前途要靠自己創造)》之銘言: : 老師不會吹毛求疵的﹍﹍ 其實是我在吹毛求疵...:) : 恩??? : 記憶體就算亂掉﹍﹍﹍ : 甘硬碟什麼事啊? : 只要不要來個『多工多緒』, : 在背景寫硬碟﹍﹍應該沒事吧﹍﹍ 當然有關係啦,cpu純粹只看機械碼,根本不管你所輸入的是程式碼 或使用者自訂的資料,舉個例子好了,如果超出陣列的部分的數值被cpu拿去解碼 解出來的指令是(以組合語言形式): mov ip,???? 那麼ip暫存器就會被改掉,改到CS:IP所指的記憶體位址去讀取該記憶體內容 然後再解碼...當然這個時候CS:IP所指向的記憶體位址的機械碼或許根本就不是你原來 要執行的順序,而CS:IP所指的機械碼會命令CPU做什麼事,完全不知道.. 這些問題是我在以前初學組合語言時經常碰到的問題,每次寫完程式就必須 用DEBUG去盯每個暫存器的值是不是所預期的... 上面所說的不曉得也沒關係,就當我在耍白爛,只是我覺得 C語言沒有辦法用類似DEBUG的程式可以除錯,所以我很怕當機