标签: c++ arrays pointers memory allocation
这是一个悬垂的指针吗?
int x = 25; int** arr = new int*[5]; *arr[1] = x;
我无法弄清楚为什么这不起作用... * arr [1]只是一个指针,指向一个有效的内存地址。
答案 0 :(得分:5)
arr[1]是int*,并且未经初始化。取消引用它是未定义的行为。
arr[1]
int*
您可以说arr[1] = &x;,然后arr[1]会指向x而*arr[1]会指向25。
arr[1] = &x;
x
*arr[1]
完成后不要忘记delete [] arr;。
delete [] arr;