作者plumefly (琰)
看板C_and_CPP
標題[問題] 如何建立有重複性名稱的陣列
時間Sun Apr 28 21:32:34 2019
開發平台(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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1556458356.A.A2F.html
1F:→ wei115: Macro? 04/28 21:38
2F:推 jaid: 為什麼不用指標陣列 04/28 22:18
3F:→ b0920075: array開下去 04/28 23:09
4F:推 LPH66: 你需要陣列的陣列, 就是二維陣列 04/29 03:40
5F:→ plumefly: 不能用二維,因為這些陣列之後會用realloc改變大小,每 04/29 06:32
6F:→ plumefly: 個大小不一樣 04/29 06:32
7F:→ Jockey66666: 你的abc_1~4就算不同大小也可以放到一個array裡面啊 04/29 07:36
8F:推 wahaha279: array of pointers to array 04/29 10:28
9F:→ thefattiger: 不同大小還都放到一個array感覺不是個好主意 04/29 17:49
10F:→ thefattiger: 要用別的方式記每個子array的大小 04/29 17:49
11F:→ sarafciel: 你可以用個struct把size順便記一下 另外開個int array 04/29 19:44
12F:→ sarafciel: 記也行 不過這牽涉到另一個問題 就是為什麼你會需要一 04/29 19:45
13F:→ sarafciel: 堆長度不定的array 還需要把他們訂成同個名稱 04/29 19:47
14F:推 wray: 嗯,所以改用二維vector嗎?話說回來,dev c支援vector嗎? 04/29 22:43
15F:推 steve1012: 寫個struct 把資訊都記好就好了 04/29 23:49
16F:→ plumefly: 我主要要寫Pareto最適化,需要記下每層結果值 才想說要 04/30 11:57
17F:→ plumefly: 用長度不定且名稱相近的陣列存取。之前用matlab使用eval 04/30 11:57
18F:→ plumefly: 函式,但c中沒有類似的 04/30 11:57
19F:推 LPH66: 所以還是二維陣列啊, 只是不是直接 [10][20] 這樣宣告而已 04/30 21:45
20F:→ LPH66: 如果要嚴格說的話是指標陣列, 但這跟動態配置(列指標版的) 04/30 21:46
21F:→ LPH66: 二維陣列是幾乎一樣的寫法 04/30 21:46
22F:→ LPH66: 唔, 修正一下: 我指的是各列各自一塊空間的這種 04/30 21:47
23F:→ plumefly: 想說考慮大小不一的話,用二維陣列會有沒用到的記憶體 04/30 22:21
24F:→ plumefly: 空間,感覺不太完美這樣 04/30 22:21
25F:→ Lipraxde: 資料結構,寫程式的好夥伴 04/30 22:55
27F:→ sarafciel: 簡單寫大概長這樣 04/30 23:36
28F:→ sarafciel: 其實就像LPH大說的 你要的東西骨子裡還是二維陣列 04/30 23:37
29F:→ sarafciel: 只是因為長度可變 必須多一個變數去記realloc的長度 04/30 23:39
30F:→ plumefly: 謝謝樓上 還有大家,這個方法好像可以沒問題! 05/01 20:48