1、结构的基础知识
结构是一个一个或多个变量的集合,关键字struct引入结构声明。例如:
struct point {
int x;
int y;
}A,B;
point 是结构标记,A,B是变量表。它的初始化可以如下:
struct point pt;
struct point pt = {320,240};
结构还可以嵌套.
struct rect {
struct pointpt1;
struct pointpt2;
};
访问的时候可以这样:
struct rect screen;
screen.pt1.x;
2、结构与函数
结构的合法操作包括:作为一个整体复制和赋值,通过&运算符取地址,访问其成员。
//makepoint函数:通过x、y坐标构造一个点
struct point makepoint (int x, int y)
{
struct point temp;
temp.x = x;
temp.y = y;
return temp;
}
struct rect screen;
struct point middle;
struct point makepint(int , int);
screen.pt1 = makepoint(0,0);
screen.pt2 = makepoint(XMAX, YMAX);
middle = makepoint((screen.pt1.x +screen.pt2.x)/2,(screen.pt1.y + screen.pt2.y)/2);
//prinrect函数:如果p在矩形r内,则返回1,否则返回0
int ptinrect(struct point p, struct pointr)
{
return p.x >= r.pt1.x && p.x <r.pt2.x &&p.y >=r.pt1.y && p.y < r.pt2.y;
}