c++ - 动态创建指针数组时,Visual Studio 不显示完整数组

标签 c++ visual-studio pointers debugging

我的代码:

#include "pch.h"
#include <iostream>

using namespace std;

   int main()
   {
      char** pptr = new char*[5];

      for (int i = 0; i < 5; i++)
      pptr[i] = new char[5];
   }

我想要发生的是 pptr 现在指向 5 个指针数组的开头,每个指针指向 5 个字符数组的开头。

我在main函数的末尾打了一个断点,添加了pptr watch,它只存了一个指针。为什么会发生这种情况,我该如何正确处理?

enter image description here

最佳答案

这是 Visual Studio 中指针类型的默认知识。您在代码中指出 char** pptr 是一个指针,但它不知道有多大。

要解决这个问题,您可以在 pptr[0] 上添加一个 watch ,然后您可以通过将其更改为 pptr[0] 来指定它的“大小”为 5 ,5。此外,如果大小是可变的,您可以执行“ptr[0],[size]”,其中 size 是一个计算要显示的元素数量的表达式。

关于c++ - 动态创建指针数组时,Visual Studio 不显示完整数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54040892/

相关文章:

c++ - 错误: No Match for `Operator<<` [closed]

c++ - 使用 Xlib 更改绘图颜色

visual-studio - 是否可以以编程方式清除Visual Studio(调试)“输出”窗口?

c - C语言中strtok的使用

c++ - 在 C++ 中使用带有指针结构的 beginthread

c++ - 数组地址的地址

c++ - 从字符串中删除 N 个第一个字符

c++ - 如何在C/C++中获取HTML

visual-studio - 无法将文件拖到解决方案资源管理器

c# - 如何在类库项目中引用xml文件