int
a[M][N]
定义了一个M行N列的数组,总元素个数为M*N。
其第一维长度,也就是总的行数,在C语言中,就是定义中的M。
类似的,第二维长度,也就是每行元素个数。在C语言中就是定义中的N。
对二维数组用两次循环,将其赋值到一维数组就够了。
举个例子,二维数组a[N][M],一维数组b[]
编写主函数部分:
int i,j,k=0
for(i=0i<Ni++)
for(j=0j<Mj++)
b[k++]=a[i][j]
扩展资料:
反之一维转二维
#include <stdio.h>
#include <stdlib.h>
#define ROW 3
#define COL 2
int main(int argc, char *argv[])
{
int arr1D[] = {1,2,3,4,5,6}
int arr2D[ROW][COL]
int i,j
//一维维整型数组转换为二维整型数组
for(i=0i<ROWi++)
{
for(j=0j<2j++)
{
arr2D[i][j]=arr1D[i*COL+j]
}
}
//二维整型数组打印显示
for(i=0i<ROWi++)
{
for(j=0j<COLj++)
{
printf("%d ", arr2D[i][j])
}
printf("\n")
}
system("pause")
return 0
}