繁体   English   中英

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

[英]How can I initialize a multidimensional array of n dimensions where n is the input from a user in C?

我必须从用户那里获取输入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 */
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM