64,647
社区成员
发帖
与我相关
我的任务
分享
struct Hello
{
int a;
int b;
};
Hello hello[3][3] = {/*进行初始化*/};
Hello (*p)[3];
p = hello;
( 0, 1 ) ( 1, 2 ) ( 2, 3 )
( 3, 4 ) ( 4, 5 ) ( 5, 6 )
( 6, 7 ) ( 7, 8 ) ( 8, 9 )
请按任意键继续. . .
#include<iostream>
#include<iomanip>
using namespace std;
struct Hello
{
int a, b;
};
void main()
{
Hello hello[3][3];
Hello (*p)[3] = hello;
for(int i = 0; i<3; i++)
{
for(int j = 0; j<3; j++)
{
(*(p+i))[j].a=i*3+j;
(*(p+i))[j].b=i*3+j+1;
}
}
for(int i = 0; i<3; i++)
{
for(int j = 0; j<3; j++)
{
printf("( %u, %u ) ", p[i][j].a, p[i][j].b);
}
printf("\n");
}
}
运行结果:
( 0, 1 ) ( 3, 4 ) ( 6, 7 )
( 3, 4 ) ( 6, 7 ) ( 7, 8 )
( 6, 7 ) ( 7, 8 ) ( 8, 9 )
请按任意键继续. . .
(*(p+i))[j].a=i*3+j;
(*(p+i))[j].b=i*3+j+1;
这两句是什么意思?for(int i = 0; i<3; i++)
{
for(int j = 0; j<3; j++)
{
printf("value is %u\n", (*p+i)[j].a);
printf("value is %u\n", (*p+i)[j].b);
}
}