-2

我希望我的数组具有使用简单格式的设定长度。请让我知道这是如何完成的。

我已经拥有的: arr[100]

伪代码:我想要的: arr[4-20]arr[$min_int THROUGH $max_int]

其他详细信息编辑: int 应在 range 内array = (4, 20)。输入可能包含前导零。我想限制数组的长度(即 9 或 10 个字符)。

4

2 回答 2

2

数组在 C 中根本无法以这种方式工作。您需要自己实现它,方法是仅循环遍历有效索引(并在过程中浪费内存)或使用更适合该工作的数据结构,如地图(您将必须在库中查找或自己编写,因为它在语言中不存在)。

于 2012-06-22T22:00:49.640 回答
1
#define ARRMINIDX 4
#define ARRMAXIDX 20
int arrmem[ARRMAXIDX+1-ARRMINIDX];
#define arr(x) arrmem[ARRMINIDX+(x)]

// process elements of arr
for( i = ARRMINIDX; i <= ARRMAXIDX; i++ )
    dosomething(arr(i));

OTOH,鉴于您的评论,这根本不是您想要的

我想要一个包含 0-1 个元素的数组:一个有限的 int 或有限的“numeric int”——模仿一个 int 的字符串。

在这种情况下,我无法做出正面或反面。你是说你想要一个代表整数的 4-20 个字符的字符串吗?

于 2012-06-23T00:10:59.853 回答