圳职业技术学院 Shenzhen Polytechnic 第八单元(3):指针与结构体 教学内容 指针与结构体 教学目标 应知 指向结构体变量的指针 指向结构体数组的指针 指向结构体的指针作函数参数 应会 能够是用指针变量引用结构体成员级结构体数组元素的 成员 理解指向结构体变量的指针变量作函数参数时的数据传 递方式 难点 驅指向结构体变量的指针对成员的引用方式 教学方法 引导复习,项目拓展、对比法 教学过程 提问与复习 结构体变量如何定义? 结构体变量如何引用? 结构体变量中的成员数据类型可否不同? 结构体数组如何定 结构体数组成员如何引用? 结构体变量作函数参数时的数据传递方式是什么? 指针是什么? 指针如何定义 为什么指针变量的类型必须要与其所指向的变量类型一致? 回指向数组的指针变量如何定义 如何通过指针变量引用数组元素? 计算机系乌云高娃 Wygwl2lcn, com第67页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 67 页 共 83 页 第八单元(3):指针与结构体 教学内容 指针与结构体 教学目标 指向结构体变量的指针 指向结构体数组的指针 应知 指向结构体的指针作函数参数 能够是用指针变量引用结构体成员级结构体数组元素的 成员. 应会 理解指向结构体变量的指针变量作函数参数时的数据传 递方式 难点 指向结构体变量的指针对成员的引用方式 教学方法 引导复习,项目拓展、对比法 教学过程 1. 提问与复习 结构体变量如何定义? 结构体变量如何引用? 结构体变量中的成员数据类型可否不同? 结构体数组如何定义? 结构体数组成员如何引用? 结构体变量作函数参数时的数据传递方式是什么? 指针是什么? 指针如何定义? 为什么指针变量的类型必须要与其所指向的变量类型一致? 指向数组的指针变量如何定义 如何通过指针变量引用数组 元素?
圳职业技术学院 Shenzhen Polytechnic 2.定义一个结构体变量a,包含四个成员,分别是 char sname[10],int math, int english, float ave,从键盘输入输出数据 3.定义一个指针变量指向结构体变量a,通过指针引用进行数据输入输出(考 虑指针类型,指针賦值,指针对结构成员的引用方法) 甲a.math等价于(*p),math等价于p.math 4.定义三个学生一组的数据(结构体数组a[3]),从键盘输入数据,输出到屏 幕 5.定义一个指针变量pa指向第4步的结构体数组a[3],通过指针变量输入 数据并进行运算,再将结果输出。(指向结构体数组的指针,注意指针 变量的当前指向) 6.采用指向结构体变量的指针变量作函数参数,编写三个函数,分别实现数 据输入、数据处理、数据输出的操作(指向结构体的指针作函数参数, 注意参数的数据传递方式) 学生容易出错的地方 指向结构体的指针对成员的引用 通过指针引用时成员的数据输入 问题与讨论 什么是结构体? 结构体类型变量如何定义?有几种方法?如何引用? 指向结构体变量的指针定义后就可以直接使用吗? 结构体数组的如何进行初始化? 用结构体变量的成员作实参,用结构体变量作实参,用指向结构体变量(或数组) 的指针作实参,与形参如何传递? 计算机系乌云高娃 Wygwl2lcn, com第68页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 68 页 共 83 页 2. 定义一个结构体变量 a,包含四个成员,分别是 char sname[10],int math,int english,float ave,从键盘输入输出数据 3. 定义一个指针变量指向结构体变量a,通过指针引用进行数据输入输出(考 虑指针类型,指针赋值,指针对结构成员的引用方法) a.math 等价于 (*p).math 等价于 p.math 4. 定义三个学生一组的数据(结构体数组 a[3]),从键盘输入数据,输出到屏 幕 5. 定义一个指针变量 pa 指向第 4 步的结构体数组 a[3],通过指针变量输入 数据并进行运算,再将结果输出。(指向结构体数组的指针,注意指针 变量的当前指向) 6. 采用指向结构体变量的指针变量作函数参数,编写三个函数,分别实现数 据输入、数据处理、数据输出的操作(指向结构体的指针作函数参数, 注意参数的数据传递方式) 学生容易出错的地方 指向结构体的指针对成员的引用 通过指针引用时成员的数据输入 问题与讨论 什么是结构体? 结构体类型变量如何定义?有几种方法?如何引用? 指向结构体变量的指针定义后就可以直接使用吗? 结构体数组的如何进行初始化? 用结构体变量的成员作实参,用结构体变量作实参,用指向结构体变量(或数组) 的指针作实参,与形参如何传递?
圳职业技术学院 Shenzhen Polytechnic 小结(可由问题与讨论方式给出) 结构体变量的首地址就是其指针,用取地址符&得到 指向结构体变量的指针变量称为结构变量的指针变量 指向结构体变量的指针在使用时同样必须要先定义,再赋值,然后才可以使用 如果有指针p指向结构变量a,则 1.a.math等价于(*p).math等价于p.math 粤使用指向结构数组的指针变量引用结构数组成员时,同指针指向数组时是类似的要 明确指针当前指向的数组元素,同时要考虑结构体成员的引用方法 课后任务 用指向结构体成员的指针进行数据的输入输出和运算:日期类型的结构体 粤计算某一日是星期几 计算机系乌云高娃 Wygwl2lcn, com第69页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 69 页 共 83 页 小结(可由问题与讨论方式给出) 结构体变量的首地址就是其指针,用取地址符&得到 指向结构体变量的指针变量称为结构变量的指针变量 指向结构体变量的指针在使用时同样必须要先定义,再赋值,然后才可以使用 如果有指针 p 指向结构变量 a,则 1. a.math 等价于 (*p).math 等价于 p.math 使用指向结构数组的指针变量引用结构数组成员时,同指针指向数组时是类似的要 明确指针当前指向的数组元素,同时要考虑结构体成员的引用方法 课后任务 用指向结构体成员的指针进行数据的输入输出和运算:日期类型的结构体 计算某一日是星期几