K&R的名著:<C程序设计语言>小程序总结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;

}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值