按行优先的方式把一个二维数组的元素存入一个一维数组中,并输出
int arr2【3】【2】
int arr2length=sizeof(arr2) 获取二维数组长度
int arr1length=sizeof(arr2[0]) 获取二维数组长度中的一维数组长度
int length=arr2length * arr1length 计算总长度
int arr[length]
for(int i=0;i<arr2length;i++){
for(int j=0;j<arr1length;j++){
arr[i]=arr2[i][j] 赋值给一维数组
}
}
简单说一下
通过双重for循环遍历二维数组(注意按行遍历,外层循环是行,内层是列),然后在循环中将二维数组的值赋给一维数组。
#include<stdio.h>
void fun(int a[][4], int* b);
int main()
{
int c[20] = { 0 }, f[3][4] = { 1,4,7,10,2,5,8,11,3,6,9,12 },*t=c;
fun(f, c);
while (*t)
{
printf("%d ", *t);
t++;
}
}
void fun(int a[][4], int* b)
{
for (int i = 0;i < 4;i++)
{
for (int j = 0;j < 3;j++)
{
*b = a[j][i];
b++;
}
}
}