最近在写cuda相关的代码遇到矩阵的问题就避免不了二维动态数组的内存申请。所以实际测了一下,一下代码可以用。
#include <iostream>
#include <stdlib.h>
int main()
{
double **V,*h_c;
V = (double**)malloc(10*sizeof(double*));//正确格式
h_c = (double*)malloc(10*sizeof(double));
for(int i = 0;i < 10;i++)
{
V[i] = (double*)malloc(10*sizeof(double));
}
for(int i = 0;i < 10;i++)
{
for(int j = 0;j < 10;j++)
{
V[i][j] = (double) (i+1) * j;
}
}
for(int i = 0;i < 10;i++)
{
h_c[i] = V[0][i] + V[1][i];
std::cout << "h_c[" << i << "]=" << h_c[i] << std::endl;
}
for(int i = 0;i < 10;i++) //释放内存格式
{
free(V[i]);
}
free(V);
return 0;
}