读书人

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

发布时间: 2012-05-27 05:42:30 作者: rapoo

求助:关于结构体数组和指针数组
有一个二维结构体数组,定义该结构体类型的一维指针数组,请问怎么指向。
比如有
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]。

读书人网 >C语言

热点推荐