如何在C中使用malloc()创建一个特定大小的数组?

时间:2013-10-15 04:55:31

标签: c arrays dynamic malloc

我写的程序的一部分需要使用malloc而不是常规方法来创建数组。我必须让用户输入一个数字,为​​该数字指定名称MAX,并使用malloc()创建一个数组,数字2到输入的数字。我该怎么做呢?

2 个答案:

答案 0 :(得分:2)

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

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

int *ar = malloc(50 * sizeof (int) );

答案 1 :(得分: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用于您的目的。