0

ユーザーに数値を入力するように求め、コンピューターにその数のアレイを作成させたいと考えています。

たとえば、ユーザーが number5を入力した場合、 call を作成する必要5 integer arraysarray1[64], array2[64], array3[64], array4[64], and array5[64]あります。

4

2 に答える 2

2

ポインターの配列を使用できます

次のように:-

int n,i;

//enter n

int **array = malloc(sizeof(int*)*n);

for(i=0;i<n;i++)
  array[i] = malloc(sizeof(int)*64);

 /* Do Stuffs*/


/* Free Memory */  
for(i=0;i<n;i++)
  free(array[i]);

free(array);
于 2013-09-18T17:21:59.673 に答える
0

var1「、、、、、、という名前の同じ型の N 個の変数が必要」と言うときはいつでも、var2本当にvar3必要varNなのは配列です。この場合、配列の配列が必要です。

コンパイル時に 2 番目の次元がわかっていると仮定すると (つまり、常にの Nx64 要素の配列になるint)、これは簡単です。

#include <stdlib.h>
...
size_t numArrs = 0;

// get numArrs from user

int (*arrs)[64] = malloc( sizeof *arrs * numArrs );    

intPresto -通常の 2D 配列と同じようにアクセスできるNx64 配列を割り当てました。

arrs[i][j] = some_value();

arrs[0]は の最初の 64 要素配列intarrs[1]は の 2 番目の 64 要素配列intなど です。

于 2013-09-18T20:54:44.217 に答える