作者vtr198172 (43米的深海)
看板C_and_CPP
標題Re: [語法] 指標陣列的用法
時間Wed Dec 23 11:42:50 2009
※ 引述《vtr198172 (43米的深海)》之銘言:
: 大家好,
: 我想要將10個十六進制的數字存入一個動態陣列中,應該如何寫呢?
: 我原本的做法是,
抱歉,一時打錯了....修改如下,這樣是compiler會過的
char buf[] = {0x01,0x02,0x03,0x04,0x05,
0x06,0x07,0x08,0x09,0x10};
: 但是我想改成動態陣列的做法,如下
: char* buf = malloc( 10*sizeof(char) );
: buf = {"0x01","0x02","0x03","0x04","0x05",
: "0x06","0x07","0x08","0x09,"0x10"};
: free(buf);
: 很顯然的這樣並不會過,請問我該如何寫呢?謝謝各位
經過VictorTom大大的說明,知道了為什麼我動態陣列不會過了.
不過由於這串值是沒有規律的,所以VictorTom大大提供的三個方法
看來只有外部開檔用memcpy的方式了。
會想用動態的方式是擔心若陣列太大時,會佔資源。 感謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.22.20.210
推 ledia:我猜你的意思是怕 stack 會爆? 外部開檔讀進來也是會佔資源 12/23 11:46
推 VictorTom:像VC好像stack預設發warning是1K還是4K, 也許你可以先說 12/23 11:48
→ VictorTom:說資料量多大; 另外如果開檔的話應該用fread讀而不是用 12/23 11:48
→ VictorTom:memcpy, 更新一下自己上篇推文沒注意到的地方....^^|| 12/23 11:48