西北工业大学《C语言程序设计》课件-第八章 自定义数据类型.pdfVIP

  • 2
  • 0
  • 约3.22万字
  • 约 138页
  • 2022-09-08 发布于北京
  • 举报

西北工业大学《C语言程序设计》课件-第八章 自定义数据类型.pdf

►8.1 结构体类型 ►8.2 结构体对象 ►8.3 结构体与数组 ►8.4 结构体与指针 ►8.5 结构体与函数 ►8.6 共用体 ►8.7 枚举类型 ►8.8 位域 2 ►8.9 用户自定义类型 ►8.10 链表 3 ► 数组是一种数据形式,其特点是多个相同类型元 素集合起来; ► 结构体是另一种重要的数据形式,其特点是不同 类型成员组合起来。 ► 数组和结构体形成了两种风格迥异的聚合方式, 通过它们及其相互组合、相互嵌套的机制可以构造 出复杂的、满足应用要求的自定义数据类型。 4 ►C++的结构体允许将不同类型的数据元素组合在一 起形成一种新的数据类型,其声明形式为: struct 结构体类型名 { 成员列表 }; 5 例如可以通过如下声明建立能表示学生信息的数据类型。 struct STUDENT { //学生信息类型 int no; //声明一个整型数据成员表示学号 char name[21]; //声明一个字符串数据成员表示姓名 char sex; //声明一个字符数据成员表示性别 int age; //声明一个整型数据成员年龄 char qq[11]; //声明一个字符串数据成员表示QQ号 double score; //声明一个浮点型数据成员表示成绩 }; 6 成员列表可以是任何类型,甚至还可以是结构体类型。 struct DATE { // 日期类型 int year,month,day; }; struct STAFF {//职工信息类型 int no; char name[21]; char sex; DATE birthday; double salary; }; 7 ► C语言的结构体类型只能用 “struct 结构体类型 名”表示,如 “struct STUDENT”。C++兼容C语言 的结构体类型,既可以用C语言方式,又可以直接 用 “结构体类型名”表示,如 “STUDENT”。建议 C++程序员使用后一种方式。 ► C++的结构体类型已经超出C语言的结构体类型 的概念,本质上与第9章的类类型相同。本章主要 讨论兼容的C语言的结构体类型。 8 ►结构体类型可以表示大型结构的数据对象,数据表 示形式层次更高,因此本书将结构体类型的实体称 为对象,区别于以前的变量。 ►定义结构体对象称为结构体类型实例化,实例化会 根据数据类型为结构体对象分配内存单元。 9 ►定义结构体对象有三种形式。 ► 1.先声明结构体类型再定义对象 结构体类型名 结构体对象名列表; //C++方式 struct 结构体类型名 结构体对象名列表; //兼容的C 语言方式 STUDENT a,b; //C++方式定义结构体对象 struct STUDENT x,y; //C语言方式定义结构体对象 10 ►2 .声明结构体类型的同时定义对象 struct 结构体类型名 { 成员列表 } 结构体对象名列表; ►例如: struct DATE { // 日期类型 int year,month,day; //年,月,日 整型 } d1,d2; //定义结构体对象

文档评论(0)

1亿VIP精品文档

相关文档