首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于结构体数组和指针数组

2012-05-27 
求助:关于结构体数组和指针数组有一个二维结构体数组,定义该结构体类型的一维指针数组,请问怎么指向。比如

求助:关于结构体数组和指针数组
有一个二维结构体数组,定义该结构体类型的一维指针数组,请问怎么指向。
比如有
struct point
{int x;
  int y;
};
point po[2][5];
point *p[2];
p[0]指向po[0]的元素,使得p[0]自加1时,能指向下一个元素;p[1]同p[0]。

[解决办法]
p[0] = &po[0][0];
p[1] = &po[1][0];


[解决办法]

C/C++ code
point po[2][5];point *p = &po[0][0];
[解决办法]
p[0] = po[0];
[解决办法]

#include <iostream>
using namespace std;

struct point {
int x;
int y;
};

int main(void) {
point po[2][5];
point *p[2];
p[0]=po[0];//&p[0][0]也行
p[1]=po[1];
//下面为验证代码
int i,j;
for(i=0;i<2;i++) {
for(j=0;j<5;j++) {
cout << p[i]+j <<"=" << &po[i][j]<< endl;
}
}
return 0;
}
探讨
有一个二维结构体数组,定义该结构体类型的一维指针数组,请问怎么指向。
比如有
struct point
{int x;
int y;
};
point po[2][5];
point *p[2];
p[0]指向po[0]的元素,使得p[0]自加1时,能指向下一个元素;p[1]同p[0]。

热点排行