我在堆栈上分配了一个巨大的矩阵(我同意这一点:在那里分配它很愚蠢(,我正在编写以下代码,因为我想访问带有下标索引mat[x][y]的矩阵元素
double (*mul1)[N][N];
mul1 = new double[N][N];
我收到一个错误:
error C2440: '=' : cannot convert from 'double (*)[1000]' to 'double(*)[1000][1000]'
为什么我不能为二维数组分配new?
你可以这样做:
int N = 10 ;
double** mul1 = new double*[N];
for(int i = 0; i < N; ++i)
mul1[i] = new double[N];
double *mul1[N];
for (int i=0;i<N;++i)
mul1[i] = new double[N];
将2D阵列表示为1D阵列
二维阵列与一维阵列的性能