《C语言程序设计》全套课件.ppt

  1. 1、本文档共634页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 结构体与共用体 8.1 概述 8.2 定义结构体类型的方法 8.3 结构体变量的引用 8.4 结构体的初始化 8.5 指向结构体类型数据的指针 8.6 共用体 8.1 概述 结构体是由一组具有相同类型或不同类型的数据构成的集合,集合中的数据是相互联系的。 例如:学生成绩数据库中学号、姓名、各科成绩及总分,这些数据项都与某个学生相联系。 8.1 概述 struct student { char xh[9]; char xm[20]; float yw; float sx; float yy; float jsj; float zf; }; 由程序设计者指定了一个结构体类型struct Student 它包括xh,xm,yw,sx,yy,jsj,zf等不同类型的成员 8.1 概述 声明一个结构体类型的一般形式为: struct 结构体类型名称 { 成员表列 }; 类型名 成员名; 8.1 概述 说明: (1) struct为关键字(不可缺省),是结构体的标识符;结构体类型名称是所定义的结构体的类型标识,由用户自己定义(结构体类型名称也可以省略,此时为无名结构体); 8.1 概述 说明: (2) { }中包围的是组成该结构体的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型,还可以是已定义的结构体类型。整个定义作为一个完整的语句用分号结束。 8.1 概述 处理通信录可以定义如下结构体: struct address { char name[20]; // 姓名 char add[30]; // 家庭地址 unsigned long phone; // 电话 int zip; // 邮政编码 }; 8.1 概述 为了描述日期可以定义如下结构体: struct date { int year; //年:整型作为结构中的成员 int month; // 月 int day; // 日 }; 8.1 概述 在程序中,结构体的定义可以在一个函数的内部,也可以在所有函数的外部,在函数内部定义的结构体,仅在该函数内部有效,而定义在外部的结构体,在所有函数中都可以使用。 8.2 定义结构体类型的方法 8.2.1 定义结构体类型的变量 8.2.2 定义结构体数组 8.2.1 定义结构体类型的变量 前面只是建立了一个结构体类型,它相当于一个模型,并没有定义变量,其中并无具体数据,系统对之也不分配存储单元。 相当于设计好了图纸,但并未建成具体的房屋。为了能在程序中使用结构体类型的数据,应当定义结构体类型的变量,并在其中存放具体的数据。 8.2.1 定义结构体类型的变量 定义结构体类型变量有三种方法: 1. 先声明结构体类型,再定义该类型变量 struct 结构体类型名称 结构体变量名; 声明结构体类型struct Student,可以用它来定义变量 struct Student stu1,stu2; 结构体类型名 结构体变量名 8.2.1 定义结构体类型的变量 2.在声明类型的同时定义变量 有时为了体现简洁的风格,也可在定义结构体的同时定义结构体变量,其形式为: struct 结构体类型名称 { 数据类型 成员名表列; } 结构体变量名表列 ; 8.2.1 定义结构体类型的变量 2.在声明类型的同时定义变量 struct Student { char xh[9]; //学号 char xm[20]; //姓名 float yw; //语文 float sx; //数学 float yy; //英语 float jsj; //计算机 float zf; //总分 } stu1,stu2; 8.2.1 定义结构体类型的变量 3. 不指定类型名而直接定义结构体类型变量 其一般形式为: struct { 成员表列 }变量名表列; 指定了一个无名的结构体类型 ,此结构体类型去定义其他变量。 8.2.1 定义结构体类型的变量 (1) 结构体类型与结构体变量是不同的概念,不要混同。只能对变量赋值、存取或运算,而不能对一个类型赋值、存取或运算。在编译时,对类型是不分配空间的,只对变量分配空间。 8.2.1 定义结构体类型的变量 (2) 结构体类型中的成员名可以与程序中的变量名相同,但二者不代表同一对象。 (3) 对结构体变量中的成员(即“域”),可以单独使用,它的作用与地位相当于普通变量。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档