【发布时间】:2012-12-14 20:40:19
【问题描述】:
不确定什么是“良好做法”或被认为更“正确”。我有一个数组,我想通过数组名 [] 以外的名称访问单个元素。我可以使用#defines 或指针,也可能是其他方式。
例子:
#define value1 myarray[1]
int myarray[SIZE];
value1 = 5;
或
int myarray[SIZE];
int *ptr;
ptr = &myarray[1];
*ptr = 5;
在我看来,#define 路线更简单,使用的内存更少,但可能会带来一堆我不知道的问题。任何见解都会很棒,我希望尽可能让我的代码遵循普遍接受的标准。
*编辑:也许有更好的方法。我的最终目标是获得一个将发送到外围端口的阵列。然而,数据由非常不同的数据集组成,单个数组名称不能代表所分配的数据。我的内存非常有限,所以我想避免重复存储每个值。
【问题讨论】:
-
神圣维护的噩梦,蝙蝠侠!
-
你为什么要这样做?什么是合理的?
-
我觉得,如果一个值需要一个不同于数组中所有其他值的标识,那么该值首先不应该在数组中。你能提供一个更具体的例子来证明你的想法的实用性吗?
-
这肯定会成为维护的噩梦。为什么要这样做?