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