【发布时间】:2015-03-07 04:44:35
【问题描述】:
这段代码有什么问题?它在运行时显示内存转储错误
#include<iostream>
using namespace std ;
int main()
{
int A[3][4] = {{3, 1, 8, 11}, {4, 12, 9, 10}, {7, 5, 2, 6}};
int **p = A;
P[1][2] = 99;
cout<<A[1][2] ;
}
【问题讨论】:
-
int**不是二维数组。其次,该代码不应该成功编译。 ideone.com/mKv3xv -
int mian??这不可能是你的真实代码。 -
肯定不能编译?即使您修复了
main的拼写,并更改了p和P中的一个以匹配另一个,也没有从int[3][4]到int**的有效转换。请发布您正在运行的实际代码。 -
嘿,放轻松,他显然是个编程菜鸟
-
对不起,手误!它应该是 -int main 。是的,我刚开始 C++。我开始知道二维数组实际上是一个指针数组,它的每个元素都指向一个一维数组。这就是我使用 **p 的原因。不管怎样,谢谢大家
标签: c++ memory-dump