C结构体应用全攻略.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C结构体应用全攻略

C结构体应用全攻略——入门、进阶、提高、扩展 在学习结构体之前,你会很自然的想到使用如下的变量来描述: name, height, weight, strong, modfile。 好了,现在来给Kula和K分别进行描述,你就需要在变量名上加以区分。对于Kula你有了 Kula_name, Kula_height, Kula_weight, Kula_strong, Kula_modfile 对于K,你有了 K_name, K_height, K_weight, K_strong, K_modfile 好,设想你现在要制作KOF2003了,我们需要一个函数根据这些信息在战斗中评价两位选手,这个函数看上去像是这样 int value(char *name, int height, int weight, int strong, char *modfile); 当然在实际测试中一个人物的信息可能不止这几个,也许他有30个之多,我相信你是不会写一个有30个参数的函数的(除非你为Microsoft工作)。更糟糕的是,如果由于版本更新发现30个参数里有15个是多余的,在修改了函数定义之后,你还要修改无数的不只位置函数调用。汗! 现在,结构体来救你了(e文:the struct comes to rescue)。看看如何用结构体定义一个拳皇人物吧。首先我们定义一个结构体类型: struct FIGHTER { char *name; /*元素1*/ int height; /*元素2*/ int weight; /*元素3*/ int strong; /*元素4*/ char *modfile; /*元素5*/ }; 这个类型叫FIGHTER,他和你用的int在语法上是一样,他们都是类型。正如你使用int声明变量一样,你可以用FIGHTER声明变量。FIGHTER有一些比int特殊的地方,他是结构体。所以声明变量时,你给跟TC提这件事(在FIGHTER前加上struct关键词)。声明变量的方法如下: struct FIGHTER Kula, K, Iori, Athena; 好了,你定义了很多FIGHTER变量。那么如何使用他们呢。对于设置一个人物我们可以这样: Kula.height = 1.65; Kula.weight = 49; Kula.strong = 75; 这里,height,weight,strong是Kula内的元素。这就好像同一规格的不同书包一样。Kula是这种规格书包的一种,而height,weight,strong就是书包里袋子的名称。自然书包K里height袋子和书包Kula里height袋子是两个完全独立的袋子,他们互不干扰。 你注意到了Kula和height之间有一个点,专业一点的称呼叫 成员运算符(member operator)。当然我还是叫她点。 现在回到value函数的问题,我们不再需要那么多参数了。我们只要 int value(struct FIGHTER fighter); 这样,在评价Kula的时候我们使用的是value(Kula)而不是什么value(Kula_height, Kula_weight, ......, 汗!); 一定会发现结构对于描述一样带有很多属性的东西有天生的优越性。比如 struct POINT { int x; int y; }; struct RECT { int left; int top; int bottom; int right; }; ..... 使用结构体编程可以让你尽快熟悉OOP(面向对象程序设计)。 不过,...嘻嘻,你没觉得每次在声明结构体时的语法中有个struct在前面很不爽 struct RECT rt; 我想让他像声明int型一样简单,打个RECT rt就行了那多好。于是你就打了一个 RECT r

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档