怎么用结构体储存一个二维数组并且打印出来呢?

在c语言里,数组好像可以认为是一个一级指针
所以怎么用结构体储存一个二维数组并且打印出来呢?

是不这意思:

#include <stdio.h>
struct Data {
    int num[5];
}arr[4];
int main()
{
    int i, j;
    int a[4][5] ={{1,2,3,4,5},{5,6,7,8,9},{4,3,2,1,0},{9,8,71,6,10}};//定义一个二维数组并初始化。
    for (i = 0; i < 4; i++) {
        for (j = 0; j < 5; j++) {
            arr[i].num[j] = a[i][j];
        }
    }
    for (i = 0; i < 4; i++) {
        for (j = 0; j < 5; j++) {
            printf("%d ", arr[i].num[j]);
        }
        printf("\n");
    }
    return 0;
}

直接声明个二维数组,for循环打印。

#include <stdio.h>
int main(void)
{
    int a[4][5]= 
    {
        {1,2,3,4,5},
        {5,6,7,8,9},
        {4,3,2,1,0},
        {9,8,71,6,10}
    };   //定义一个二维数组并初始化。
    int i,j;
    for(i= 0;i< 4;i++)
    {
        for (j= 0;j< 5;j++)
        {
        printf("%d  ",a[i][j]);   //%d后面留空格,控制下面打印出的结果之间有空格隔开。
        }
    printf("\n");
    }

    return 0;
}

输出 
1  2  3  4  5  
5  6  7  8  9  
4  3  2  1  0  
9  8  71  6  10  

啥意思?在结构体里定义一个二维数组不就好了么???
感觉你这个因为...所以,没有啥因果关系啊。能具体描述一下问题么

结构体里存啥不行
你就直接把二维数组塞进结构体里不就行了
哪一步遇到困难了吗