C++如何动态申请二维数组

最近在写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;
}

猜你喜欢

转载自blog.csdn.net/m0_38036750/article/details/83550980