K&R的名著:小程序总结8结构体

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;

}
 

你可能感兴趣的:(c,struct,语言)