c语言有关二维数组变量初始化

如题所述

二维数组可以看成特殊的一维数组,每个元素又由一个一维数组组成。

例如:构建一个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语言在定义数组和表示数组元素时常常采用a[ ][ ]的形式,使用方便,不易出错。

温馨提示:答案为网友推荐,仅供参考
相似回答