位操作及联合.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
位操作及联合

等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 文件包含处理是C语言预处理的又一重要功能。 格式: #include “filename” 或 #include filename 的预处理命令控制行,称之为“文件包含”预处理命令控制行。其中include是文件包含预处理命令,括在双引号或尖括号中的filename是被包含文件的名字。一个源文件可以插入若干条文件包含预处理命令行。在源文件被编译前预处理程序扫描整个源文件,每遇到这样的一条预处理命令行,都用包含文件filename中的全部内容替代这一行,或者说将指定的被包含文件的全部内容插入到该控制行的位置处,使其成为源文件的一部分参与编译。因此被包含文件内容一定为C程序的源代码形式。 由于文件包含命令行通常被放置在源程序文件的首部,所以将被包含文件称之为“首部文件”或“头文件”,C编译系统提供的所有头文件以“.h”作为其文件的扩展名。当然,文件包含命令行不发放置在源文件的首部,被包含的文件也不限制为编译系统提供的文件,而且包含文件的后缀也不发为“.h”。程序设计者可根据实际情况,自行确定包含文件的后缀、名字及其在源文件中的位置。 正如大家所看到的那样,被包含文件名必须括在双引号或一对尖括号中。若包含文件名被括在双引号中,而且括住的仅仅是单一的文件名(不含路径),如: #include “file1.c” 预处理程序处理这样的包含文件命令行时,首先从包含该命令行的源文件所在的当前目录下去查找这个包含文件,如果在当前目录下找不到被包含文件,再从C编译系统指定的标准目录中查找。这个指定的目录为include,到于include目录从属于哪一个上级目录无关紧要。 如果括在双引号中的包含文件是带有路径的文件名,预处理程序将直接按照指定的路径去查找被包含文件,而不再从该源文件所在的当前目录和系统指定的标准目录下去查找。例如:#include “c:\tc\include\myfile.h” 对于用尖括号的情况,若在尖括号中只有被包含文件名(不含路径),则仅从指定的标准目录下去查找。如:#include stdio.h、#include math.c 如果括在尖括号中的是含有路径的文件名,则按指定的路径去寻找被包含的文件。如:#include c:\test\file.c,但需注意的是:在这种情况下,被包含的文件不能以“.h”结尾。如:#include d:\tc\include\stdio.h是错误的。 等级考试C语言 第12章 位操作 * 联合(共同体)也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型,因为有时我们需要使几种不同类型的变量放到同一内存单元中。允许利用同一存储区域来存储、处理不同类型的数据。例如:学校的教师和学生填写如下表格:… 其中,职业一项分为“教师”和“学生”两类。对“单位”一项,学生填入班级编号,而教师则应填入某系某教研室。班级可用整型量表示,而某系某教研室只能用字符串型。要求把这两种类型不同的数据均填入“单位”这个变量中,就必须把“单位”定义为包含整型量和字符数组这两种类型的联合(共同体)。这种使几个不同的变量共占同一段内存的结构,称为“联合”(共同体)类型的结构。 等级考试C语言 第12章 位操作 * 等级考试C语言 第12章 位操作 * 可以看到,“联合”与“结构体”的定义形式相似,但它们的含义是不同的。结构体变量所占的内存长度是各成员占的内存长度之和。每个成员分别占有自己的内存单元;而“联合”变量所占的内存长度等于最长的成员的长度。如上例定义的“联合”变量a、b、c各占4个字节(因为一个实型量占4个字节),而不是2+1+4=7Byte。 再如:… 经说明后的a、b变量均为predate型,它们的内存分配示意图如下:… 变量a、b的长度等于predata的成员中最长的长度,即等于office数组的长度,共10个字节。从图中可见,a、b变量如赋予整型值时,只用了2个字节,而若赋予字符数组时,可用10个字节。 等级考试C语言 第12章

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档