版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习语言计程仪编程第1.0章结构与共同体、结构与共同体、第1.0章、第10.1结构类型的定义、结构由若干成员构成,各成员可具有不同的类型。 要在计程仪计划中使用结构类型,必须首先描述结构的配置。 例如,学生信息可以是结构中的: 学校编号*/char name20; 名字;名字; 性别* /性别; 年龄,年龄,年龄。 成绩*/char addr40; 家庭住址*/; 特别是,“struct student”是计程仪编程者自己定义的类型,可以与系统预先定义的标准类型(int、char等)一样定义变量,使变量具有struct student类型。 例如结构步骤ST 1、st220; 分别定义了stru
2、ct student结构体类型的变量st1和struct student结构体类型的数组变量st2。 的双曲正切值。 其中,牛鼻子字struct引入了结构类型的定义。 结构之后的可选标识符是结构类型的名称。 括号内的是结构成员的说明。 在上面的示例中,结构类型struct student有六个成员: num、name、sex、age、score和addr。 这6个成员分别表示学生的学号、姓名、性别、年龄、成绩、家庭住址,类型明显不同。 结构类型定义格式:喀呖声结构类型名称成员说明表列。 大括号内的内容是结构类型的成员说明,各成员说明的形式是类型名称成员名称,实际上相关的数据对象可以合并成一个结
3、构,用一个结构名称进行管理。 例如,由日、月、年组成的结构类型为:struct date int day; 英文单词; 英年; 作为另一个例子,一个员工的信息结构类型是结构人员名字2.0; /*名称*/char地址4.0; 地址* /浮动销售; /*工资薪金* /浮动成本; /*扣除* /结构日期隐藏; 录用日期*/; 的双曲正切值。 结构类型“结构人员”包含结构类型成员hiredate。 此示例说明结构类型嵌套定义,即结构类型的一些成员是不同的结构类型。 但是,该嵌套不能包含自个儿,不能由自个儿定义。 结构类型的说明详细记载了一个结构的构成状况、结构的各成员名称及其类型。 结构类型描述了数据
4、结构的“模型”,但没有定义“实物”,不需要分配实际的存储空间。 要使计程仪计划实际使用结构,必须定义结构变量。 当为结构变量分配存储区域时,编译程序的每个成员的存储格式及其含义与结构类型一致。 定义10.2结构类型变量和一种结构类型变量的方法有三种: 10.2.1定义结构类型变量,1 .定义结构类型,然后定义变量。 可以定义变量,如结构类型struct student已经被定义。 例如,扭曲扭曲1、扭曲2; 将student1和student2定义为struct student类型变量。 也就是说,它具有struct student类型的结构变量。 请注意,将变量定义为标准类型(基本数据类型)
5、与将变量定义为结构类型不同,后者不仅需要将变量指定为结构类型,还需要将变量指定为特定的结构类型。 例如,在struct student中,不能仅使用struct类型指定结构名称。 如果定义变量是整数,则只需指定int类型。 例如:结构调整编号; char name20; 卡尔斯克; int age; 浮点卷轴添加4.0; 苏丹1、苏丹2; 2 .定义类型和云同步变量:选择struct结构类型名称成员说明表列变量名称表列。 也就是说,struct student型的变量student1和student2被定义了两个。 此定义方法的一般形式为:3 .直接定义结构型变量,其一般形式为: struct
6、成员说明表列变量名称表列; 也就是说,在结构定义时不出现结构类型名的形式很简单,但是在必要时不能使用定义的结构类型。(1)类型和变量是不同的概念,请不要混淆。 结构变量通常在定义时定义结构类型,然后再定义该类型的变量。 变量只能分配、网站数据库或运算。 不能为一种类型分配、网站数据库或运算。 在编译时,不给类型分配存储区域,而仅给变量分配存储区域。 对于结构类型,需要进行一些说明:(2)结构中的成员可以单独使用,其角色和地位相当于普通变量。 (3)成员可以是结构变量。 例如:结构日期内蒙特; 英日; 英年; 结构成员编号; char name20; 卡尔斯克; int age; 结构日期比率;
7、 /*成员变量是结构变量*/char addr 4.0 stu1、stu2; (4)成员名称可以与项目群中的其他变量名称相同,两者不代表相同的对象。 例如,在pluct计程仪列中,可以定义与struct member的num不同的变量num,而彼此不干扰作用。 喀呖声以定义struet date结构类型。 此结构类型包括三个成员:月、日和年。 定义struet member结构类型时,成员birthday的类型被定义为struet date类型。 定义的结构日期类型可以用于定义成员类型,如int、char等其他类型。 10.2.2结构变量的使用,引用一个结构变量,有通过结构变量名称和结构的指针
8、变量的方式。 与此相对应,参照结构体成员的标记形式也有2种,分别用运算符“”和“”标记。 (1)从结构变量名称引用该成员的标签形式是指结构变量名称、成员名称,例如stu1.num是指引用结构变量stu1中的num成员,该成员的类型为int型,因此能够执行可由int型变量执行的任意运算。 例如,stu1.num20312; (2)在结构的指针变量中引用结构成员的标记格式为指针变量名称-成员名称,如结构节点浮点x,y; p、u、*pt; 定义了两个结构变量p,u和一个结构的指针变量pt,分析了以下句子: p.x=12.2; p.y=24.3; pt=,语句“pt”将pt指向结构变量u,可以用pt-
9、x和pt-y向结构变量u这两个成员网站数据库。 上述语句的执行状况可以利用图10.1来记述各变量间的关系。pt、u、p、图10.1通过指向结构体的指针参照了结构体,上述例子中结构体的成员可以像普通的变量那样使用。 根据其类型,确定所有合法运算。 如果结构成员本身是结构类型,则可以继续使用成员运算符检索结构成员的结构成员,并分层引用最低级别的成员。 可将计程仪计划分配或网站数据库到最低级别成员,例如,stu1中的一些成员的网站数据库: stu1.birthday.day=23; stu1.birthday.month=8; stu1.birthday.year=2003; 在初始习语言中,plu
10、mp只对结构变量(包含结构变量的结构成员)进行地址运算,不行政许可对结构的代入运算。 ANSI C现在可以解除此限制,并将结构的值指派给相同类型的结构变量。 普计程仪兰还可以对结构的最低级别成员进行其他运算。 取地址运算,参照成员的地址。 例如,scanf(”%”,10.2.3构造体变量的初始化,构造体变量可以和其他变量一样在定义变量的同时进行初始化。 1 .初始化外部存储器类型的构造体变量,解析例如10.1以下的计程仪程序的输出结果。 包括结构条件长度编号; char name20; 卡尔斯克; 查耳朵增多4.0; a=302103“降级板”、123山读数()打印机(“否3360 % ldn
11、名称3360 % sn sex 3360 % cn地址3360 % sn”、a.num、 普计程仪计划的执行结果如下: no :021103 name : janglinpansex; M Address:123 Shaoshan Road,2 .初始化函数内部的结构变量的上述示例的定义部分可以包括在主函数中。普计程仪计划如下:main () staticstructstudentlonghum; char name20; 卡尔斯克; 查耳朵增多4.0; a=302103“江林面板”打印机(“否3360 % ldn名称: % sn sex : % cn地址: % sn”、a.num
12、、、a.sex 普计程仪程序的执行结果与上述例子的普计程仪程序相同。 不能在定义时为自动结构变量指定初始值。 执行函数时,只能使用赋值语句为每个成员分别指派值。 10.2.4结构变量的输入和输出,习语言不能将一个结构变量作为一个整体输入或输出。 例如,结构变量struct char name12; 卡拉添加r 18; 长号; stud=“王达威”、“125北京路”、3021118; 图10.2表示变量stud被保存在存储器中的情况。 按成员变量存储。name12、addr18、图10.2的构造体变量存储在存储器中的状况是2个字符串数据和1个长整数数据,因此,要输出stud变量,请使
13、用printf(”%s,%s,n”、、stud.addr、stud 要为stud变量的每个成员输入值,请不要写作puts( ),因为scanf(”%s%s%ld”)、、stud.addr、成员项目name和addr都是按字符数组的s字符串格式输入的、10.3结构类型的数组,结构变量可存储一组数据(例如,学生的学号、名字、成绩等数据)。 如果1.0学生的数据必须参加运算和处理,显然应该使用数组,这就是结构数组。 结构数组与在先中说明的数值型数组不同,各数组元素是结构体型的数据,包含各自的成员项目。 10.3.1结构类型数组的定义与定义结构变量
14、的方法类似,可以通过在结构变量名称之后指定元素数来定义结构数组。 例如:结构条件条件3.0; 结构人员企业100; 结构图形名称2.0; 英数; 浮动价格; 浮动质量; 部件200; 以定义数组studentss。 student有一个3.0元素,每个元素的类型都是struct student的结构类型。 定义数组employees。 有100个要素,各要素为struct person结构体型。 定义数组部件。 有200个要素,各要素也是结构体型。 这些个都是结构的排列,分别代表班级的学生,部门的员工,仓库的产品。 另外,如元素为标准数据型的阵列,结构阵列的每个元素也顺序存储在存储器中,也可初
15、始化,并且到结构阵列元素的网站数据库利用该元素的后缀。 具体而言,在结构体数组元素中网站数据库的成员的标记方法为:例如,在parts数组元素中网站数据库的成员: parts10.price=37.5; 扫描(“% s”),部分3 .名称;结构数组名元素的下标结构成员名、10.3.2结构类型排列的初始化,在初始化结构排列时,将各元素的数据分别用括弧括起来。 示例:结构图形名称2.0; 长号; 英格; 卡尔斯克; 浮动球; students5; 朱东芬,302101,1.8,m,9.3,张法冲,302102,1.9,m,90.5,王彭,302103,1.6,m,8.5,张红,302104,1.6,
16、f,9.5,李岭谷如果选择,则在编译时,将一个括号中的数据提供到元素,即,将第一个括号中的数据提供到students0,而将第二个括号中的数据提供到students1。 如果分配了初始值的数据定径套的数目等于定义的数组元素,则可以省略数组元素的数目。 这类似于上一章中介绍的数组初始化。 会根据初始化时指定的资料定径套数目,自动决定阵列的大小。 如果指定的初始化数据定径套数少于数组元素数,则不能省略方括号中的元素数。 例如,struct student students3: 只为前三个元素分配初始值,而不为其他元素分配初始值,为数字类型成员分配零,为字符类型数据分配“空”列“0”。10.3.3构造体排列的使用,一个构造体排列的要素相当于一个构造体变量。引用结构数组的元素有(1)引用元素成员的规则。 例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统计与成对数据的统计分析课件-2026届高三数学二轮复习
- 海南护师考试试题及答案
- 2026年湖南中考试卷及答案英语
- 2026三年级数学上册 乘法解决问题
- 2026三年级数学上册 测量的实际操作
- 保安员岗位责任制度
- 中国水利知识试题及答案
- 企业园区保安岗位制度
- 人福危险辨识与风险评价、控制制度
- 小组讨论奖惩制度及细则
- 山东高考英语语法单选题100道及答案
- 职业道德与法治知识点总结中职高教版
- 2025年绿色低碳先进技术示范工程实施方案-概述及范文模板
- 2025上半年广西现代物流集团社会招聘校园招聘149人笔试参考题库附带答案详解
- 事故后企业如何进行危机公关与赔偿管理
- 2025年春新人教PEP版英语三年级下册全册教案
- OptixOSN3500智能光传输设备业务配置手册
- 【浙科综合实践】四上第四课项目一、美味的中秋月饼
- 深圳大学《算法设计与分析》2021-2022学年期末试卷
- 西泠印社三年级下册书法教案
- 大客户经理招聘笔试题及解答
评论
0/150
提交评论