【问题标题】:Allocating space for an array为数组分配空间
【发布时间】:2017-03-01 04:01:39
【问题描述】:

我有一个动态分配整数数组的 C++ 程序。在下面的最后一个函数中,我不知道如何为数组分配空间,new int[*arrPtr]; 是我在阅读指针章节后想到的,它编译正确,但程序崩溃。任何人都可以看看我的代码并指出我正确的方向吗?

非常感谢您在此问题上提供的任何帮助,非常感谢您抽出宝贵时间。

【问题讨论】:

  • int * arrPtr = nullptr; *arrPtr 尝试获取地址 0x0 处的内存内容并将其解释为整数。此内存不属于您的程序,操作系统会因为您尝试使用无效内存而终止您的程序。

标签: c++ arrays pointers dynamic-memory-allocation


【解决方案1】:

不是

new int[*arrPtr]

这是

arrPtr = new int[num]; //num is the size of the array.

【讨论】:

  • ..或者只使用 std::vector
  • @xaxxon 我同意向量更好玩,但是“使用命名空间 std;”这一行让我相信这是关于指针的课堂练习。
  • 或者它可能只是为了简化测试用例。不要根据测试用例的语法来判断 - 记住,它应该尽可能地被剥离。
猜你喜欢
  • 2018-03-26
  • 1970-01-01
  • 2017-06-03
  • 2016-05-28
  • 2011-09-11
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
相关资源
最近更新 更多