動態陣列大小配置及陣列快速清為0方法在Keil |
缺席
|
phchen0413
一般會員 發表:14 回覆:21 積分:12 註冊:2009-07-01 發送簡訊給我 |
請教各位大大,小弟不才要來請教code的問題了..
(1)由於我的array大小會隨程式不同的程序會給予不同空間值..比方說 Time Process T1 array[4] T2 array[5] T3 array[10] T4 array[7] 而我有在程序前去改變其Size值,但相對就會有語法錯誤發生... 因此此部份想請問各位大大有動態array大小配置的嗎?? (2)有沒有陣列快速清為0方法??因為小弟目前都用for去填0的值,但是相較之下array大時速度就會被拖慢,畢竟MCU速度是不快..比方說 Time Process T1 array[10]={0,1,2,3,4,5,6,7,8,9}; T2 array[10]={0,0,0,0,4,5,6,7,8,8}; <-有0的都用for去填 T3 array[10]={1,3,4,4,0,0,0,1,1,1}; <-有0的都用for去填 T4 array[10]={1,1,1,1,1,0,0,0,0,0}; <-有0的都用for去填 |
rick060
高階會員 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
|
極光
初階會員 發表:32 回覆:96 積分:40 註冊:2005-01-16 發送簡訊給我 |
===================引 用 phchen0413 文 章=================== 請教各位大大,小弟不才要來請教code的問題了.. (1)由於我的array大小會隨程式不同的程序會給予不同空間值..比方說 Time Process T1 array[4] T2 array[5] T3 array[10] T4 array[7] 而我有在程序前去改變其Size值,但相對就會有語法錯誤發生... 因此此部份想請問各位大大有動態array大小配置的嗎?? (2)有沒有陣列快速清為0方法??因為小弟目前都用for去填0的值,但是相較之下array大時速度就會被拖慢,畢竟MCU速度是不快..比方說 Time Process T1 array[10]={0,1,2,3,4,5,6,7,8,9}; T2 array[10]={0,0,0,0,4,5,6,7,8,8}; <-有0的都用for去填 T3 array[10]={1,3,4,4,0,0,0,1,1,1}; <-有0的都用for去填 T4 array[10]={1,1,1,1,1,0,0,0,0,0}; <-有0的都用for去填 動態陣列在c語言好像不是這樣玩的吧!是透過"malloc" &"Free"這兩個函數產生,返回會是指標形態!但不是所有單晶片的編譯器都有,我用pic系列說,C18就沒有支援,C30才有。 但始用"動態陣列"請小心,不要把mcu與pc相比,會發生很恐怖的事件,就是記憶體指標錯誤,在mcu最好是一次請完,再一次釋放,不要申請3個再釋放2個等動作,很容易出現超難抓的bug。 快速清"0"好像只有用for,有特殊指令可以清嗎?一次清不太可能吧! |
kib72377
高階會員 發表:1 回覆:217 積分:238 註冊:2004-11-12 發送簡訊給我 |
|
phchen0413
一般會員 發表:14 回覆:21 積分:12 註冊:2009-07-01 發送簡訊給我 |
謝謝三位大大回覆...小弟已經自行全部解決上述提出的問題...
非常感謝!!
編輯記錄
phchen0413 重新編輯於 2011-08-15 00:44:21, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |