二维数组可以看成特殊的一维数组,每个元素又由一个一维数组组成。
成都创新互联公司网站建设公司,提供成都网站制作、成都做网站,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!
例如:构建一个maxrownum*maxrownum的矩阵
long double **data1_bfE;
data1_bfE=(long double **)malloc(maxrownum*sizeof(long double *));
for(i=0;imaxrownum;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[ ][ ]的形式,使用方便,不易出错。
声明时给初始值叫初始化。例如:int b[3][4]={1,2,3,4,5,6,7,8,4,4,4,4};
声明后赋值,可以用赋值语句,
b[0][0]=1; b[0][1]=2; b[0][2]=3; b[0][3]=4;
b[1][0]=5; b[1][1]=6; b[1][2]=7; b[1][3]=8;
b[2][0]=4; b[2][1]=4; b[2][2]=4; b[2][3]=4;
数据量大时,则用数据文件,用输入语句读入数值。
函数传递也可以:
void a1(int *a){
int b[3][4]={1,2,3,4,5,6,7,8,4,4,4,4}; // 数据在 b[3][4]中
int i,j;
for (j=0;j3;j++)
for (i=0;i4;i++)
a[j*4+i]=b[j][i];
}
main()
{
int a[3][4];
int i,j;
a1(a[0][0]); // 把2维数组a[][] 看成1维,数组元素顺序排列
for (j=0;j3;j++){
for (i=0;i4;i++) printf("%3d ",a[j][i]); // 输出获得的数值
printf("\n");
}
return 0;
}
c语言二维数组初始化的三种方式
int a[3][3]={1,2,3,4,5,6,7,8,9};
int a[3][3]={{1,2,3},{4,5},{7}};
int a[3][3]={0};
网页标题:c语言二维函数组的初始化,c语言一维数组和二维数组的初始化方法
本文链接:/article4/dseodoe.html
成都网站建设公司_创新互联,为您提供网站设计、面包屑导航、定制开发、星空体育app最新版本(2024已更新)、网站策划、品牌网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联