长度为4-20的阵列?

时间:2012-06-22 21:56:27

标签: c arrays types declaration

我希望我的数组使用简单格式设置长度。请告诉我这是怎么做的。

我已经拥有的东西: arr[100]

伪代码:我想拥有的东西: arr[4-20]arr[$min_int THROUGH $max_int]

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

2 个答案:

答案 0 :(得分:2)

Arrays在C中不会这样工作。你需要通过循环遍历有效索引(并在流程中浪费内存)或使用更适合作业的数据结构(如地图)来自己实现它(您必须在图书馆中找到或写自己,因为它在语言中不存在。)

答案 1 :(得分: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或有限的“数字”   int“ - 字符串模仿int。

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