我写的程序的一部分需要使用malloc而不是常规方法来创建数组。我必须让用户输入一个数字,为该数字指定名称MAX,并使用malloc()创建一个数组,数字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
用于您的目的。