[问题] 如何建立有重复性名称的阵列

楼主: 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