在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
啥意思?在结构体里定义一个二维数组不就好了么???
感觉你这个因为...所以,没有啥因果关系啊。能具体描述一下问题么
结构体里存啥不行
你就直接把二维数组塞进结构体里不就行了
哪一步遇到困难了吗