




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9.1.6结构体变量的初始化和C语言中其它变量一样,在定义结构体变量时可以进行初始化操作,一般形式为(中的内容表示可省略): struct结构体类型名数据类型名1 成员名1; 数据类型名n 成员名n;结构体变量 = 初始数据;例如,可以在定义hero型变量wusong时对其进行初始化:structheroint number; /排名char sex; /性别char star_name20; /星名char name20; /名称char nickname20; /绰号char position20; /职业char weapon20; /使用武器 wusong=14,m,”天伤星”,”武松”,”行者”,”步兵头领”,”2把戒刀”; /定义了结构体变量wusong并初始化。定义结构体变量wusong但没有初始化时,编译器会给每个成员一个默认值,初始化后就赋予初始化时地赋值,如图9.4所示: 图9.4 结构体变量及其初始化注意:对结构体变量进行初始化时,必须按照每个成员的顺序和类型一一对应地赋值,少赋值、多赋值,以及类型不符都可能引起编程错误。9.1.6结构体变量的引用在定义了结构体变量后,就可以引用这个变量。所谓引用结构体变量就是使用结构体变量或结构体变量的成员进行运算或者其他操作。1. “.”运算符在C语言中,“.”也是一个运算符,叫做成员运算符。一般和结构体或共用体变量名称一起使用,用来指定结构体或共用体变量的成员。例如:linchong.nickname;用来指定结构体变量linchong的成员nickname。2. 结构体变量成员的引用C语言允许引用结构体变量的成员完成某种操作。其一般形式为:结构体变量名.成员名例如,对于上面定义的结构体变量wusong,可这样引用其成员:wusong.number,wusong.sex; /应用结构体变量wusong.number+1; /对结构体进行运算printf(“%dn”, wusong.number); /输出构体成员的值也可对定义了的结构体变量的成员赋值: sunerniang.number=103;sunerniang.nickname=”母夜叉”;3. 整个结构体变量的引用C语言允许对两个相同类型的结构体变量之间进行整体赋值。例如,下面将wusong的值赋给与其类型相同的变量zhangsan:zhangsan=wusong;9.1.7引用结构体变量注意事项在引用结构体变量时,需注意以下几点:l必须先定义结构体变量,才能对其进行引用。当开发大型程序时,引用未定义的结构体变量而引起的错误可能会时常出现,不过,幸运的是,编译器会发现此错误,程序将无法编译通过。但是,养成良好的编程习惯还是必须的,毕竟调试错误也是一件很麻烦的事情。l如果一个结构体变量的成员又是一个结构类型,引用时要用成员运算符逐级遍历到最低层的成员。例如,下面对前面定义的hero类型变量wusong的成员death_day的结构体成员进行引用: wusong.death_day.month wusong.death_day.daywusong.death_day.year 其中,wusong为第一级的结构体变量名,death_day既为wusong的成员,又为第二级结构体变量名,month,day,year为death_day的成员。l结构体变量成员可以像普通变量一样参与各种运算或其他操作。例如:songerniang.sex=w; /对结构体变量成员进行赋值操作songerniang.number+; /对结构体变量成员进行自增运算sunerniang.numberwusong.number; /比较两个结构体变量成员l可以引用结构体变量地址,也可以引用结构体变量成员的地址。例如,下面都是合法的语句:/以十六进制数的形式输出结构体变量wusong的地址printf(“%x”,&wusong);/以十六进制数的形式输出结构体变量wusong成员number的地址printf(“%x”,&wusong.number);/从键盘输入字符给sunerniang变量的成员sex赋值scanf(“%c”,&sunerniang.sex);l不能对结构体变量整体进行诸如输入输出的操作。例如,下面的语句是非法的:scantf(“%d%c%s%s%s%s%s”,&sunerniang); l结构体成员名可以与程序中的变量名相同,但两者是完全不同的两个变量。例如,下面的程序清单说明了局部变量和结构体中的成员变量可以同名,但不代表同一个变量:/声明结构体类型structheroint number; /排名char sex; /性别char star_name20; /星名char name20; /名称char nickname20; /绰号char position20; /职业char weapon20; /使用武器;void main()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度白酒品牌专卖店设立与运营代理合同
- 2025年度私人房屋全款交易买卖合同(限共有产权转让)
- 二零二五年度家庭存款安全监护与子女成长责任协议
- 二零二五年度海南省农业学校农业科技项目申报与实施合同
- 二零二五年度生物医药股权协议及合伙人临床研究合作协议
- 《第3单元 信息共享与病毒防治 13 信息共享》教学设计-2023-2024学年人教版信息技术(三起)五年级上册
- 收徒弟合同范本
- 知识产权培训推动企业持续创新的引擎
- 科技助力城市环境治理与生态保护
- 2025至2030年中国甜玉米饼数据监测研究报告
- 智能财务共享在京东的应用研究
- 卫生和微生物基础知识培训-
- 2023年镇江市高等专科学校单招综合素质题库及答案解析
- XX拦河堰工程施工组织设计
- GB/T 9787-1988热轧等边角钢尺寸、外形、重量及允许偏差
- GB/T 7031-2005机械振动道路路面谱测量数据报告
- 马工程教材《公共财政概论》PPT-第十二章 财政体制
- GB/T 23457-2009预铺/湿铺防水卷材
- GB/T 17614.1-2015工业过程控制系统用变送器第1部分:性能评定方法
- 财务工作督导检查记录表
- 舆情大数据监测平台建设方案
评论
0/150
提交评论