malloc()总是可以增加数组的大小吗?
Does malloc() always work to increase the size of an array?
如果我使用malloc()
来增加数组的大小,这是否总是有效,或者我有时会得到内存错误?
值得一提的是,malloc
不会增加现有内存的大小。它分配新的内存。realloc
可以用于"增加"内存,但它有时是一个棘手的功能(它可以返回一个不同的指针比原来的,如果它不能分配新的内存原始内存保持不变)。
如果你有足够的内存,它将"工作"。如果你没有足够的内存,那么它将无法工作。
现在,当我说"工作"时,这取决于你所说的"工作"是什么意思。malloc
不会增加任何东西的大小,除了你的程序的内存使用。
为什么不用std::vector
呢?
realloc如果分配内存失败,将返回NULL
。
Malloc不会调整数组的大小。而realloc只会在malloc的情况下执行。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 声明数组后我无法添加数组
- 在运行时增加数组的大小
- 引发未经处理的异常:简单 C++ 程序中的读取访问冲突,动态增加数组长度以存储数字
- 如何通过使用整数指向地址来增加数组
- 使用 char* 增加数组 [C++]
- 在C 中增加数组大小
- 创建一个函数,该函数吸收数组并循环添加数组,并将第二个数组值设置为零
- 有没有方法可以增加数组的记忆?和相关问题
- 在没有向量、指针的情况下,在c++中的运行时增加数组大小
- 增加数组大小时 CUDA 主体磁贴计算错误代码 77
- 如何在运行时创建和增加数组的大小 C++.
- 在读取文件时,在增加数组大小的同时,将浮点数字读取到动态分配的中
- 尝试动态增加数组大小
- 如何在x86汇编中增加数组
- 使用自增操作符添加数组元素
- malloc()总是可以增加数组的大小吗?
- 数组中的自增运算符
- 在c++中动态增加数组大小的更好方法
- 动态数组-如何增加数组的大小