看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) Win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) DevC++ (使用c語言編寫) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): 我想要建立具重複性名稱的一維陣列 例如: int *abc_1=malloc(sizeof(int)*2); int *abc_2=malloc(sizeof(int)*2); int *abc_3=malloc(sizeof(int)*2); int *abc_4=malloc(sizeof(int)*2); 請問有辦法用迴圈寫嗎? 謝謝願意思考及回答的人! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.235.236 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1556458356.A.A2F.html
wei115: Macro? 04/28 21:38
jaid: 為什麼不用指標陣列 04/28 22:18
b0920075: array開下去 04/28 23:09
LPH66: 你需要陣列的陣列, 就是二維陣列 04/29 03:40
plumefly: 不能用二維,因為這些陣列之後會用realloc改變大小,每 04/29 06:32
plumefly: 個大小不一樣 04/29 06:32
Jockey66666: 你的abc_1~4就算不同大小也可以放到一個array裡面啊 04/29 07:36
wahaha279: array of pointers to array 04/29 10:28
thefattiger: 不同大小還都放到一個array感覺不是個好主意 04/29 17:49
thefattiger: 要用別的方式記每個子array的大小 04/29 17:49
sarafciel: 你可以用個struct把size順便記一下 另外開個int array 04/29 19:44
sarafciel: 記也行 不過這牽涉到另一個問題 就是為什麼你會需要一 04/29 19:45
sarafciel: 堆長度不定的array 還需要把他們訂成同個名稱 04/29 19:47
wray: 嗯,所以改用二維vector嗎?話說回來,dev c支援vector嗎? 04/29 22:43
steve1012: 寫個struct 把資訊都記好就好了 04/29 23:49
plumefly: 我主要要寫Pareto最適化,需要記下每層結果值 才想說要 04/30 11:57
plumefly: 用長度不定且名稱相近的陣列存取。之前用matlab使用eval 04/30 11:57
plumefly: 函式,但c中沒有類似的 04/30 11:57
LPH66: 所以還是二維陣列啊, 只是不是直接 [10][20] 這樣宣告而已 04/30 21:45
LPH66: 如果要嚴格說的話是指標陣列, 但這跟動態配置(列指標版的) 04/30 21:46
LPH66: 二維陣列是幾乎一樣的寫法 04/30 21:46
LPH66: 唔, 修正一下: 我指的是各列各自一塊空間的這種 04/30 21:47
plumefly: 想說考慮大小不一的話,用二維陣列會有沒用到的記憶體 04/30 22:21
plumefly: 空間,感覺不太完美這樣 04/30 22:21
Lipraxde: 資料結構,寫程式的好夥伴 04/30 22:55
sarafciel: 簡單寫大概長這樣 04/30 23:36
sarafciel: 其實就像LPH大說的 你要的東西骨子裡還是二維陣列 04/30 23:37
sarafciel: 只是因為長度可變 必須多一個變數去記realloc的長度 04/30 23:39
plumefly: 謝謝樓上 還有大家,這個方法好像可以沒問題! 05/01 20:48