单片机c语言教程单片机c语言教程.doc

单片机c语言教程单片机c语言教程.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机c语言教程单片机c语言教程 单片机c语言教程单片机c语言教程 前面的文章中介绍了 C 语言的基本数据类型,为了更有效的处理更复杂的数据,C 语 言引入了构造类型的数据类型。构造类型就是将一批各种类型的数据放在一起形成一种特殊 类型的数据。之前讨论过的数组也算是一种构造类型的数据,单片机c语言 中的构造类型还有结构、 枚举和联合。 结构 结构是一种数据的集合体,它能按需要将不一样类型的变量组合在一起,整个集合体用 一个结构变量名表示,组成这个集合体的各个变量称为结构成员。理解结构的概念,能用 班级和学生的关系去理解。班级名称就相当于结构变量名,它代表所有同学的集合,而每个 同学就是这个结构中的成员。使用结构变量时,要先定义结构类型。一般定义格式如下: struct 结构名 {结构元素表}; 例子:struct FileInfo { unsigned char FileName[4]; unsigned long Date; unsigned int Size; } 上面的例子中定义了一个简单的文件信息结构类型,它可用于定义用于简单的单片机文 件信息,结构中有三个元素,分别用于操作文件名、日期、大小。因为结构中的每个数据成 员能使用不一样的数据类型,所以要对每个数据成员进行数据类型定义。定义好一个结构类 型后,能按下面的格式进行定义结构变量,要注意的是只有结构变量才能参与程序的执 行,结构类型只是用于说明结构变量是属于那一种结构。 struct 结构名 结构变量名 1,结构变量名 2……结构变量 N; 例子:struct FileInfo NewFileInfo, OleFileInfo; 通过上面的定义 NewFileInfo 和 OleFileInfo 都是 FileInfo 结构,都具有一个字符型数组 一个长整型和一个整形数据。定义结构类型只是给出了这个结构的组织形式,它不会占用存 储空间,也就说结构名是不能进行赋值和运算等操作的。结构变量则是结构中的具体成员, 会占用空间,能对每个成员进行操作。 结构是允许嵌套的,也就是说在定义结构类型时,结构的元素能由另一个结构构成。 如: struct clock { unsigned char sec, min, hour; } struct date { unsigned int year; unsigned char month, day; struct clock Time; //这是结构嵌套 } struct date NowDate; //定义 data 结构变量名为 NowDate 开始学习的朋友看到这可能会发问:“各个数据元素要如何引用、赋值呢?”使用结构变量 时是通过对它的结构元素的引用来实现的。引用的方法是使用存取结构元素成员运算符“.” 来连接结构名和元素名,格式如下: 结构变量名.结构元素 要存取上例结构变量中的月份时,就要写成 NowDate..year。而嵌套的结构,在引用元 素时就要使用多个成员运算符,一级一级连接到最低级的结构元素。要注意的是在 单片机c语言 中 只能对最低级的结构元素进行访问,而不可能对整个结构进行操作。操作例子: NowDate.year = 2005; NowDate.month = OleMonth+ 2; //月份数据在旧的基础上加 2 NowDate.Time.min++; //分针加 1,嵌套时只能引用最低一级元素 一个结构变量中元素的名字能和程序中其他地方使用的变量同名,因为元素是属于它所在 的结构中,使用时要用成员运算符指定。 结构类型的定义还能有如下的两种格式。 struct { 结构元素表 } 结构变量名 1,结构变量名 2……结构变量名 N; 例:struct { unsigned char FileName[4]; unsigned long Date; unsigned int Size; } NewFileInfo, OleFileInfo; 这一种定义方式定义没有使用结构名,称为无名结构。通常会用于程序中只有几个确定 的结构变量的场合,不能在其它结构中嵌套。 另一种定义方式如下: struct 结构名 { 结构元素表 } 结构变量名 1,结构变量名 2……结构变量名 N; 例:struct FileInfo { unsigned char FileName[4]; unsigned long Date; unsigned int Size; } NewFileInfo, OleFileInfo; 使用结构名能便于阅读程序和便于以后要在定义其它结构中使用。 枚举 在程序中经常要用到一些变量去做程序中的判断标志。如经常要用一个字符或整型变量 去储存 1 和 0 做判断条件真假的标志,但我们也许会疏忽这

文档评论(0)

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

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

1亿VIP精品文档

相关文档