-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 または制限された「数値 int」-int を模倣する文字列。

この文脈では、私は頭も尻尾も作ることができません。整数を表す 4 ~ 20 文字の文字列が必要だと言っていますか?

于 2012-06-23T00:10:59.853 に答える