演员赵亮养鸡微博:C语言写出 ,将2维数组a[3][4]z转化成一维数组b[12]

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/07 04:09:59

可以按照 第二楼 同志的说法.
如果实在要转换的话可以使用,如下
int a[3][3];
int b[12];
int t=0;
for(i=0;i<3;i++){
for(j=0;i<4;j++){
b[t++] = a[i][j];
}
}

C语言中任何维的数组在内存中都是一维存放的.

也就是说,N维数组想转换为1维数组是不需要任何转换
操作的,你用指针在内存中就可以按一维数组来访问它
只需要注意数组在内存中是按行存放的.

for(i=0;i<3;i++){
for(j=0;i<4;j++){
m(i+j)=n(i,j)
}
}

int i, 8p;
int b[12]
p=a;
for i=0;i<12;i++
b[i]=8[p+i];

里面有符号错误,基本思路是这样的。

int a[3][3];
int b[12];
...
memcpy(b, a, 12*sizeof(int));