Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何初始化n维多维数组,其中n是C中用户的输入?_C_Multidimensional Array - Fatal编程技术网

如何初始化n维多维数组,其中n是C中用户的输入?

如何初始化n维多维数组,其中n是C中用户的输入?,c,multidimensional-array,C,Multidimensional Array,我必须从用户那里获取输入N。然后我必须创建一个N维数组。例如,如果N=4,则array[][]];如果N=6,则array[]][],因为您希望创建一个数组,其大小将在运行时(“动态”)确定,所以应该使用标准C函数之一进行动态内存分配,例如calloc()它分配内存并将其初始化为零 以下是一维数组的示例: int ii, entries = 0; scanf("%d", &entries); float *data = calloc(entries, sizeof(float)); /

我必须从用户那里获取输入N。然后我必须创建一个N维数组。例如,如果N=4,则
array[][]]
;如果N=6,则
array[]][]

,因为您希望创建一个数组,其大小将在运行时(“动态”)确定,所以应该使用标准C函数之一进行动态内存分配,例如
calloc()
它分配内存并将其初始化为零

以下是一维数组的示例:

int ii, entries = 0;
scanf("%d", &entries);
float *data = calloc(entries, sizeof(float));

/* load values into the memory addressed by data, as if it were an array */
for (ii=0; ii<entries, ii++) {
  printf("Enter entry %d: \n", ii);
  scanf("%g", &(data[ii])); /* &(data[ii]) is equivalent to data + ii */
}
int-ii,条目=0;
scanf(“%d”,条目(&d));
float*data=calloc(条目,sizeof(float));
/*将值加载到由数据寻址的内存中,就像它是一个数组一样*/

对于(ii=0;ii)您不能。您需要实现一个动态数据结构来处理它。即使可以,您也不仅需要维度的数量,还需要每个维度的范围。@EugeneSh。请给出一些示例。
struct multidim{int dimensions;int*data}
。还有一系列函数可以使用。@FibonacciCoder我可以问一下为什么吗?