我正在编写的程序的一部分需要使用malloc而不是常规方式创建一个数组。我必须让用户输入一个数字,为该数字指定名称 MAX,并使用 malloc() 创建一个数组,从数字 2 到输入的数字。我将如何编写代码?
通过
指定数组的大小(以字节为单位)并将返回值分配给适当类型的指针,可以创建具有malloc()
的"数组"。如果您打算将其设置为大于一个字节的对象数组,则可以将对象数乘以对象的大小,这可以使用 sizeof
运算符获得。
例如,您可以创建一个包含五十个int
对象的"数组",如下所示:
int *ar = malloc(50 * sizeof (int) );
你可以通过以下方式做到这一点:
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
用于您的目的。