c++ - 在指针指向一个指针字段的场景中访问值,每个指针都指向 int

标签 c++ arrays pointers field

以下场景:

int** pToPField = new int* [8];

现在我有一个指向指针字段的指针。每个都指向一个 int,对吗?

现在我想分配前两个 int 字段,例如:

*(*(pToPField)) = 1;
*(*(pToPField + 1)) = 2;

或者喜欢:

*(pToPField[0]) = 1;
*(pToPfield[1]) = 2;

错误始终是核心转储。我的语法错了吗?我试图从这个问题的第一个答案中找出答案:How do I use arrays in C++? 我运气不好。

问候

最佳答案

你的语法是正确的,但你没有为数组中的指针指向的整数分配任何空间,所以你正在访问你无权访问的随机内存,从而导致段错误。

例子:

pToPField[0] = new int;
pToPField[1] = new int;
// and so on...

考虑改用 std::vector

std::vector<int> pToPField(8);

pToPField[0] = 1;
pToPField[1] = 2;
// and so on ...

关于c++ - 在指针指向一个指针字段的场景中访问值,每个指针都指向 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36141861/

相关文章:

C++ 视频播放器 ffmpeg : get pixel data?

c++ - 为什么路径比较在最新的文件系统草案(C++)中区分大小写?

java - 处理未定义大小的数组

javascript - 当只有一个元素时,字符串数组作为字符串传递到我的 Controller

c - int 指针指向 void 指针,以某种方式指向 char 数组?

c++ - 执行用C++编写的.exe问题(使用mingw编译器)

c++ - 使用 "std"的标准约定

Javascript - underscorejs map reduce groupby 基于日期

c++ - 指针函数

c++ - 宽松还是严格的指针安全?