C 语言程序设计精品课 《C语言程序设计》 课程讲义 第十章结构体与共用体 荆程 2006年4月 技术系
结束 首页 上页 下页 末页 节 第十章 结构体与共用体 《C语言程序设计》 课程讲义 2006年4月
C 语言程亠 上一章节课程回顾 设地址和指针的概念 计 精品 变量的指针和指向变量的指针变量 课数组与指针 荆程 指向函数的指针 返回指针值的函数 技术系
结束 首页 上页 下页 末页 节 上一章节课程回顾 地址和指针的概念 变量的指针和指向变量的指针变量 数组与指针 指向函数的指针 返回指针值的函数 结束 首页 上页 下页 末页 节
日第10章结构体与共用体 设10.1结构体类型的定义与变量说明 精102结构体变量的引用与初始化 多10.3结构类型与数组 104结构体类型与指针 我10.5链表 技术系
结束 首页 上页 下页 末页 节 10.1 结构体类型的定义与变量说明 10.2 结构体变量的引用与初始化 10.3 结构类型与数组 10.4 结构体类型与指针 10.5 链表 第10章 结构体与共用体 结束 首页 上页 下页 末页 节
c|10.1结构体类型的定义与变量说明 语言程亠 我们所处理的数据并非总是一个简单的整型、 设实型或字符型数据。如我们要处理的对象是学生, 计不可能孤立地考虑学生的成绩,而割裂学生成绩 精与学生其它属性之间的内在联系。 学生的成绩、姓名、学号等是一组逻辑相关的 数据,孤立地考虑这些属性,将导致操作的不便 或逻辑错误。 解决以上问题的方法就是引入结构体类型,将 院逻辑相关的数据有机组合在一起,称之为结构体。 技术系 111结构体类型定义
结束 首页 上页 下页 末页 节 11.1 结构体类型定义 10.1 结构体类型的定义与变量说明 我们所处理的数据并非总是一个简单的整型、 实型或字符型数据。如我们要处理的对象是学生, 不可能孤立地考虑学生的成绩,而割裂学生成绩 与学生其它属性之间的内在联系。 学生的成绩、姓名、学号等是一组逻辑相关的 数据,孤立地考虑这些属性,将导致操作的不便 或逻辑错误。 解决以上问题的方法就是引入结构体类型,将 逻辑相关的数据有机组合在一起,称之为结构体
C 语一.结构体类型的定义 程结构体类型的一般定义形式为: 设计精品课 struct结构体类型名 数据成员列表; 用户命名 荆程 的标识符 定义结构体类 结构体类型定 型的标识符 义的结束符 技术系 101结构体类型定义
结束 首页 上页 下页 末页 节 一. 结构体类型的定义 struct 结构体类型名 { 数据成员列表; }; 结构体类型的一般定义形式为: 定义结构体类 型的标识符 用户命名 的标识符 结构体类型定 义的结束符 10.1 结构体类型定义
咨人例101,一个学生的数据信息包含有学号、姓名 C 性别、年龄、成绩、住址,可将其定义为一个结构体 程类型: struct student 计{ long ID;/学生学号/ char name[10];/学生姓名* 精 char sex;/*学生性别*/ 课 int age;/学生年龄*/ 荆程 float score;/学生成绩*/ char addr[B30];/学生住址*/ 结构体类型定义仅仅是定义了一个特定的复合数据类型,描述 了这一类型数据的公共属性,为了在程序中使用该结构体类型 的具体对象,还需要说明这种类型的变量。 101结构体类型定义
结束 首页 上页 下页 末页 节 例10-1,一个学生的数据信息包含有学号、姓名、 性别、年龄、成绩、住址,可将其定义为一个结构体 类型: struct student { long ID; /*学生学号*/ char name[10]; /*学生姓名*/ char sex; /*学生性别*/ int age; /*学生年龄*/ float score; /*学生成绩*/ char addr[30]; /*学生住址*/ }; 结构体类型定义仅仅是定义了一个特定的复合数据类型,描述 了这一类型数据的公共属性,为了在程序中使用该结构体类型 的具体对象,还需要说明这种类型的变量。 10.1 结构体类型定义
C 二.结构体类型变量的定义 程结构体类型变量定义的一般形式 me 设 struct结构体类型名结构体变量 共10个 字节 计名 精1先定义结构体类型再定义结构 共51 age(2字字节 品体变量 e(4 a 荆州职业技术 程 struct student stul, stu2 共30个 字节 技术系 101结构体类型定义 图11-1结构体变量 而的存储结构
结束 首页 上页 下页 末页 节 二.结构体类型变量的定义 结构体类型变量定义的一般形式: struct 结构体类型名 结构体变量 名; 1. 先定义结构体类型再定义结构 体变量 struct student stu1, stu2; ID(4 字节) stu 1 na me sex(1 字节) age(2字 节) score(4 字节) add r …… …… 共10个 字节 共30个 字节 stu ID 2 …… 图11-1 结构体变量 的存储结构 共51个 字节 10.1 结构体类型定义
C 语2定义结构体类型的同时定义变量 struct student 程序设计精品课 t long ID char name[10] char sex int age float score 荆程 char addr[30] I stul, stu2 技术系 101结构体类型定义
结束 首页 上页 下页 末页 节 2. 定义结构体类型的同时定义变量 struct student { long ID; char name[10]; char sex; int age; float score; char addr[30]; }stu1,stu2; 10.1 结构体类型定义
C 语3.直接定义结构体变量 struct 程序设计精品课 flong ID char name [10] char sex int age float score 荆程 char addr[301 Jstl, stu2 菜结构体变量的三种形式可以任意选用。但在不同函 数中定义说明同一类型的结构体变量时,用第三种 方法不太方便,一般用第一种和第二种定义形式。 技术系 101结构体类型定义
结束 首页 上页 下页 末页 节 3. 直接定义结构体变量 struct { long ID; char name[10]; char sex; int age; float score; char addr[30]; }stu1,stu2; 结构体变量的三种形式可以任意选用。但在不同函 数中定义说明同一类型的结构体变量时,用第三种 方法不太方便,一般用第一种和第二种定义形式。 10.1 结构体类型定义
C 语 结构体类型的嵌套 结构体类型的嵌套是指结构体的成员是一个结构体类型 设若定义学生信息为结构体,甚成员分别为学号姓名性别 计出生年月成绩其中出生年月包括出生的年、月、日三个数 据,这些数据可以用另一个结构体类型表示 精 例如,定义 student结构体 课 荆程(1)先定义date结构体 o(2)再定义 student结构体 struct student struct date [long ID int year; int month char name [10] char sex int day struct date birthday float score 技术系 101结构体类型定义
结束 首页 上页 下页 末页 节 三.结构体类型的嵌套 结构体类型的嵌套是指结构体的成员是一个结构体类型 若定义学生信息为结构体,其成员分别为:学号、姓名、性别、 出生年月、成绩。其中出生年月包括出生的年、月、日三个数 据,这些数据可以用另一个结构体类型表示。 例如,定义student结构体。 (1)先定义date结构体: struct date {int year; int month; int day; }; (2)再定义student结构体: struct student { long ID; char name[10]; char sex; struct date birthday; float score; }; 10.1 结构体类型定义