c++ - 动态分配的指针数组中的悬挂指针

标签 c++ arrays pointers memory allocation

这是悬空指针吗?

int x = 25;
int** arr = new int*[5];
*arr[1] = x;

我不明白为什么这不起作用... *arr[1] 只是一个指针,指向一个有效的内存地址。

最佳答案

arr[1] 是一个 int*,它是未初始化的。取消引用它是未定义的行为。

你可以说 arr[1] = &x;,那么 arr[1] 会指向 x*arr [1] 将是 25。


完成后不要忘记delete [] arr;

关于c++ - 动态分配的指针数组中的悬挂指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14945699/

相关文章:

R:使用3D数组(纬度,经度和时间)随时间推移计算​​函数的最佳方法是哪种?

c - 无链表的内存分配

c++ - 数组未初始化但包含大括号

c++ - 无法读取文件进行文件处理,使用boost库获取文件路径

c++ - fatal error LNK1120 : 1 unresolved externals

c++ - 如何同步EXE/DLL文件的SVN版本和版本资源?

arrays - 如果 swift 中存在特定字符,则从数组中删除字符串

c++ - 读入动态创建的指向结构数组的指针

java - 如何使用数组创建密码和 ID 的 GUI java

c - 在外部文件中填充函数指针数组(C)