为数组c ++重新分配内存

时间:2010-12-12 16:22:19

标签: c++ memory-management dynamic-memory-allocation

我正在查看C++引用,并找到了动态内存管理和  正在查看重新分配内存的函数,我想知道这个函数是否可以用于使数组更大我认为这是他们的意思但我真的不理解这一行

more_numbers = (int*) realloc (numbers, count * sizeof(int));

这出现在cplusplus参考的示例中 所以这里是我的问题,简而言之

可以realloc()用来制作更大的数组吗?谢谢:))

2 个答案:

答案 0 :(得分:8)

仅当阵列的内存先前通过malloc()calloc()realloc()分配时。否则你会遇到麻烦。

答案 1 :(得分:0)

“该功能可能会将内存块移动到新位置,在这种情况下会返回新位置”。即使它保留了块中的数据,任何指向该块内对象的指针都可能无效。