我的代码:
#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,它只存了一个指针。为什么会发生这种情况,我该如何正确处理?
最佳答案
这是 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/