引用结构体变量的成员.PPT

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引用结构体变量的成员

第11章结构体与共用体 结构体类型的引入 问题:为了描述一个事物的不同属性,需要用到各种不同类型的数据,这些数据彼此相关,形成一个有机的整体。例如:一个教师的基本信息由姓名、性别、年龄、职称、工资等几项组合而成。如何描述一个教师的情况呢? 前面我们已学习过各种基本类型的变量和数组,而且我们知道,各个变量之间是相互独立的,无任何联系;而数组只能用来表示一批相同类型的数据。因此,若用单个变量分别表示教师的姓名、性别、年龄等属性,则难以反映他们之间的内在联系;若用数组,则根本无法表示,因为姓名、性别、年龄等不属同一种数据类型。 C语言中用“结构体”来描述由多个不同类型的数据组成的数据集合。相当于其他高级语言中的“记录”. 11.1结构体类型的定义 与基本数据类型不同的是,结构体是又一种构造类型,是由多个类型的数据成员组合而来的。因此该类型的具体内容应根据需要先定义,后使用。 可以定义如下结构体类型来描述教师的基本情况: struct teacher /*struct 是关键字*/ {char name[30]; /*{}内是该类型的各成员*/ char sex; int age; char position[10]; float salary; }; /*语句末尾是“;” */ 该结构体类型名为struct teacher,teacher 是该结构体的标识符;该类型包含有6个成员的数据项:name、 sex、 age、 position 和salary,其中每个成员项都有自己的类型。 可见,定义一种新的结构体类型的一般形式是: struct 结构体类型名 {成员类型 成员名; …… 成员类型 成员名; }; 其中,struct 是 关键字,结构体类型名、结构体成员名的命名规则同变量的命名规则一样。 特别提示:struct teacher只是一种具体的结构体类型,根据需要,程序员可以定义多个不同内容的结构体类型。其中的成员项是该类型的组成部分,而不是变量。 结构体类型的成员可以是基本类型的变量或数组,也可以是结构体类型的数据。即结构体类型的嵌套定义。 例如,若将教师的年龄改为出生日期,则可以将出生日期定义为一个结构体类型,然后嵌入 struct teacher中。 将出生日期单独定义为一个结构体类型后再嵌入。 Struct date_type { int year; int month; int day; }; Struct teacher_2 { char name[30]; char sex; struct date_type birthday; char position[10]; float salary; } (常用) 直接嵌入。 Struct teacher_3 { char name[30]; char sex; struct date_type {int year; int month; int day; } birthday; char position[10]; float salary; } /*成员birthday又是一个结构体类型的数据。*/ 11.2结构体变量的定义及引用 经以上定义后,结构体类型struct teacher与系统定义的类型int、long、float 等一样,可以用它来定义该类型的变量、数组、函数等。 不同的是:结构体类型的作用范围是有限制的。在函数体内定义的结构体类型的作用域为本函数内,在函数体外定义的结构体类型的作用域为本程序文件内,若要引用不在本文件内的结构体类型,通常用#include命令将定义该类型的文件包含进来。 例11.1定义一个结构体变量,用于存放一个教师的信息,然后将其输出。 #include stdio.h main() { struct teacher /*该类型的作用范围在本函数内*/ { char name[30]; char sex;

文档评论(0)

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

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

1亿VIP精品文档

相关文档