例如:构建一个maxrownum*maxrownum的矩阵
long double **data1_bfE;
data1_bfE=(long double **)malloc(maxrownum*sizeof(long double *));
for(i=0;i<maxrownum;i++)
{
data1_bfE[i]=(long double *)malloc(maxrownum*sizeof(*data1_bfE));
}
data1_bfE[i]=(long double *)malloc(maxrownum*sizeof(*data1_bfE));
动态分配maxrownum个long double的内存空间,跟long double a[5]相似,但前者是堆上分配的,后者是栈上分配的;
data1_bfE=(long double **)malloc(maxrownum*sizeof(long double *));
意思就是定义一个有maxrownum个long double类型的指针的动态数组,然后在里面存放指针,相当于容器,data1_bfE就会成为指针的指针。
本文详细介绍了如何使用C语言动态分配内存构建一个maxrownum*maxrownum的矩阵,包括分配一维和二维数组的方法,以及它们在栈和堆上的区别。通过实例演示了如何正确地初始化和管理内存,确保程序的高效运行。
1788

被折叠的 条评论
为什么被折叠?



