[問題] 如何建立有重複性名稱的陣列

作者: plumefly (琰)   2019-04-28 21:32:34
開發平台(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);
請問有辦法用迴圈寫嗎?
謝謝願意思考及回答的人!
作者: sarafciel (Cattuz)   2019-04-30 23:35:00
https://wandbox.org/permlink/yX79SIHonG27OuoD簡單寫大概長這樣其實就像LPH大說的 你要的東西骨子裡還是二維陣列只是因為長度可變 必須多一個變數去記realloc的長度
作者: Lipraxde (Lipraxde)   2019-04-30 22:55:00
資料結構,寫程式的好夥伴
作者: plumefly (琰)   2019-04-30 22:21:00
想說考慮大小不一的話,用二維陣列會有沒用到的記憶體空間,感覺不太完美這樣
作者: LPH66 (-6.2598534e+18f)   2019-04-30 21:45:00
所以還是二維陣列啊, 只是不是直接 [10][20] 這樣宣告而已如果要嚴格說的話是指標陣列, 但這跟動態配置(列指標版的)二維陣列是幾乎一樣的寫法唔, 修正一下: 我指的是各列各自一塊空間的這種
作者: plumefly (琰)   2019-04-30 11:57:00
我主要要寫Pareto最適化,需要記下每層結果值 才想說要用長度不定且名稱相近的陣列存取。之前用matlab使用eval函式,但c中沒有類似的
作者: wei115 (ㄎㄎ)   2019-04-28 21:38:00
Macro?
作者: jaid (jaid)   2019-04-28 22:18:00
為什麼不用指標陣列
作者: b0920075 (Void)   2019-04-28 23:09:00
array開下去
作者: LPH66 (-6.2598534e+18f)   2019-04-29 03:40:00
你需要陣列的陣列, 就是二維陣列
作者: plumefly (琰)   2019-04-29 06:32:00
不能用二維,因為這些陣列之後會用realloc改變大小,每個大小不一樣
作者: Jockey66666 (往事已成追憶)   2019-04-29 07:36:00
你的abc_1~4就算不同大小也可以放到一個array裡面啊
作者: wahaha279 (哇哈哈:3)   2019-04-29 10:28:00
array of pointers to array
作者: thefattiger (LT)   2019-04-29 17:49:00
不同大小還都放到一個array感覺不是個好主意要用別的方式記每個子array的大小
作者: sarafciel (Cattuz)   2019-04-29 19:44:00
你可以用個struct把size順便記一下 另外開個int array記也行 不過這牽涉到另一個問題 就是為什麼你會需要一堆長度不定的array 還需要把他們訂成同個名稱
作者: wray (Rayf)   2019-04-29 22:43:00
嗯,所以改用二維vector嗎?話說回來,dev c支援vector嗎?
作者: steve1012 (steve)   2019-04-29 23:49:00
寫個struct 把資訊都記好就好了
作者: plumefly (琰)   2019-05-01 20:48:00
謝謝樓上 還有大家,這個方法好像可以沒問題!

Links booklink

Contact Us: admin [ a t ] ucptt.com