-4

我正在编写的程序的一部分需要使用 malloc 而不是常规方式创建一个数组。我必须让用户输入一个数字,将该数字命名为 MAX,然后使用 malloc() 创建一个数组,其中输入的数字为 2。我将如何进行编码?

4

2 回答 2

2

malloc()您可以通过指定数组的大小(以字节为单位)并将返回值分配给适当类型的指针来创建一个“数组” 。如果您打算让它成为一个大于一个字节的对象数组,您可以将对象的数量乘以对象的大小,这可以通过sizeof运算符获得。

例如,您可以创建一个包含 50 个int对象的“数组”,如下所示:

int *ar = malloc(50 * sizeof (int) );
于 2013-10-15T04:58:27.547 回答
0

您可以通过以下方式做到这一点:

T *dynamic_memory;
.......  //Get the desired array size from user input and store in 'array_max_size'
dynamic_memory=malloc((sizeof(T) * array_max_size);

T: 数组的数据类型

然后,您可以将其dynamic_memory用于您的目的。

于 2013-10-15T05:02:08.737 回答