作者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/cn.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