線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2074
推到 Plurk!
推到 Facebook!

動態陣列大小配置及陣列快速清為0方法在Keil

缺席
phchen0413
一般會員


發表:14
回覆:21
積分:12
註冊:2009-07-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-08-04 22:40:25 IP:111.255.xxx.xxx 訂閱
請教各位大大,小弟不才要來請教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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-08-05 08:08:33 IP:60.250.xxx.xxx 未訂閱
1.不如列出你的程式出來,並指出哪邊會有錯誤發生如何?

2.memset 如何?
編輯記錄
rick060 重新編輯於 2011-08-04 18:10:11, 註解 無‧
極光
初階會員


發表:32
回覆:96
積分:40
註冊:2005-01-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-08-07 10:40:33 IP:59.104.xxx.xxx 未訂閱

===================引 用 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-08-08 08:45:15 IP:125.233.xxx.xxx 未訂閱
 1. 為什麼一定要動態大小陣列? 
固定的也很好用阿,加個 int arraysize當陣列大小的控制也能用.
2. 有必要初值/清0嗎?
有很多陣列的第一次動作其實是被寫入資料,初值根本沒用到.
3.關於陣列初值,array[10]={0,1,2,3,4,5,6,7,8,9};
這不是編譯器自己會處理的事嗎?
4.如果你的陣列夠小,
陣列清0其實可以直接寫,不必用到for
array[0]=0;
array[1]=0;
.....

phchen0413
一般會員


發表:14
回覆:21
積分:12
註冊:2009-07-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2011-08-08 10:05:28 IP:211.75.xxx.xxx 訂閱
謝謝三位大大回覆...小弟已經自行全部解決上述提出的問題...
非常感謝!!

編輯記錄
phchen0413 重新編輯於 2011-08-15 00:44:21, 註解 無‧
系統時間:2024-11-21 21:26:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!