[語法] 指標陣列的用法

看板C_and_CPP (C/C++)作者 (43米的深海)時間16年前 (2009/12/23 10:41), 編輯推噓3(306)
留言9則, 2人參與, 最新討論串1/2 (看更多)
大家好, 我想要將10個十六進制的數字存入一個動態陣列中,應該如何寫呢? 我原本的做法是, 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); 很顯然的這樣並不會過,請問我該如何寫呢?謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.20.210

12/23 10:50, , 1F
原本的做法也不會 compile 過吧? @@
12/23 10:50, 1F

12/23 10:52, , 2F
先不管原來的寫法好像也有問題, 你後面動態配置完那樣
12/23 10:52, 2F

12/23 10:52, , 3F
assign是錯的, 你有幾種方法可以選擇....
12/23 10:52, 3F

12/23 10:53, , 4F
1. 寫10次assign, 一個一個給值.
12/23 10:53, 4F

12/23 10:53, , 5F
2. 跑迴圈給值, 如果值都有規律性.
12/23 10:53, 5F

12/23 10:54, , 6F
3. 把資料先存起來(檔案或其他靜態array)再一次memcpy.
12/23 10:54, 6F

12/23 10:58, , 7F
我發現一件事, "0x01"是一個佔5bytes的char string....
12/23 10:58, 7F

12/23 10:58, , 8F
你這樣malloc的空間根本就不夠用; 現在搞不太清楚你是誤
12/23 10:58, 8F

12/23 10:58, , 9F
寫了, 還是應該是要用二維的字串陣列....@_@"
12/23 10:58, 9F
文章代碼(AID): #1BCODA30 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BCODA30 (C_and_CPP)