ユーザーに数値を入力するように求め、コンピューターにその数のアレイを作成させたいと考えています。
たとえば、ユーザーが number5
を入力した場合、 call を作成する必要5 integer arrays
がarray1[64], array2[64], array3[64], array4[64], and array5[64]
あります。
ポインターの配列を使用できます
次のように:-
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);
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 );
int
Presto -通常の 2D 配列と同じようにアクセスできるNx64 配列を割り当てました。
arrs[i][j] = some_value();
arrs[0]
は の最初の 64 要素配列int
、arrs[1]
は の 2 番目の 64 要素配列int
など です。