我的代码:
#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个字符数组的开始。我在主函数的末尾添加了一个断点,并添加了
pptr
进行监视,它仅存储一个指针。为什么会发生这种情况,如何正确执行? 最佳答案
这是Visual Studio中指针类型的默认知识。您在代码中指出char** pptr
是一个指针,但它不知道大小。
要解决此问题,您可以在pptr[0]
上添加手表,然后通过将其更改为pptr[0],5
来指定其“大小”为5。另外,如果size是可变的,则可以执行“ptr [0],[size]”,其中size是一个表达式,该表达式计算要显示的元素数。