为数组分配空间
Posted
技术标签:
【中文标题】为数组分配空间【英文标题】:Allocating space for an array 【发布时间】:2017-03-01 04:01:39 【问题描述】:我有一个动态分配整数数组的 C++ 程序。在下面的最后一个函数中,我不知道如何,new int[*arrPtr];
是我在阅读指针章节后想到的,它编译正确,但程序崩溃。任何人都可以看看我的代码并指出我正确的方向吗?
非常感谢您在此问题上提供的任何帮助,非常感谢您抽出宝贵时间。
【问题讨论】:
int * arrPtr = nullptr; *arrPtr 尝试获取地址 0x0 处的内存内容并将其解释为整数。此内存不属于您的程序,操作系统会因为您尝试使用无效内存而终止您的程序。 【参考方案1】:不是
new int[*arrPtr]
这是
arrPtr = new int[num]; //num is the size of the array.
【讨论】:
..或者只使用 std::vector @xaxxon 我同意向量更好玩,但是“使用命名空间 std;”这一行让我相信这是关于指针的课堂练习。 或者它可能只是为了简化测试用例。不要根据测试用例的语法来判断 - 记住,它应该尽可能地被剥离。以上是关于为数组分配空间的主要内容,如果未能解决你的问题,请参考以下文章