9 C语言结构体.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《9 C语言结构体.ppt》由用户(hwpkd79526)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言结构体 语言 结构
- 资源描述:
-
1、2023-6-41C语言语言结构体结构体C语言程序设计语言程序设计2本次课程所讲内容本次课程所讲内容l定义结构体类型定义结构体类型l定义结构体类型变量定义结构体类型变量l引用结构体变量引用结构体变量l给结构体变量赋值给结构体变量赋值l结构体的嵌套结构体的嵌套l结构体数组结构体数组l指向结构体类型变量的指针指向结构体类型变量的指针C语言程序设计语言程序设计3C语言程序设计语言程序设计3本次课程所讲内容本次课程所讲内容l定义结构体类型定义结构体类型l定义结构体类型变量定义结构体类型变量l引用结构体变量引用结构体变量l给结构体变量赋值给结构体变量赋值l结构体的嵌套结构体的嵌套l结构体数组结构体数组l
2、指向结构体类型变量的指针指向结构体类型变量的指针定义结构体类型定义结构体类型学号学号姓名姓名性别性别年龄年龄成绩成绩地址地址10001 Zhang XinM1990.5Shanghai10002Wang LiF2098Beijing学号学号(num):整型整型(int)变量变量姓名姓名(name):字符型字符型(char)数组数组性别性别(sex):字符型字符型(char)变量变量年龄年龄(age):整型整型(int)变量变量成绩成绩(score):单精度实型单精度实型(float)变量变量地址地址(addr):字符型字符型(char)数组数组表中包含多种类型的表中包含多种类型的数据,无法用任
3、何单数据,无法用任何单一种类的数据类型来一种类的数据类型来完全描述。完全描述。C语言允许用户建立语言允许用户建立一种集不同数据类型一种集不同数据类型于一体的数据构造类于一体的数据构造类型型结构体类型结构体类型。学生档案表学生档案表定义结构体类型定义结构体类型l用户必须在程序中自己建立所需的结构体类型用户必须在程序中自己建立所需的结构体类型l定义结构体类型:对成员的声明,包括每个成定义结构体类型:对成员的声明,包括每个成员所具有的数据类型的描述员所具有的数据类型的描述l定义(声明)一个结构体类型的一般形式为定义(声明)一个结构体类型的一般形式为 struct 结构体类型名结构体类型名 类型名类型
4、名 成员名成员名;类型名类型名 成员名成员名;成员列表成员列表要有分号要有分号C语言程序设计语言程序设计6定义结构体类型定义结构体类型l对于学生档案表,构造对于学生档案表,构造结构体类型结构体类型struct Student int num;char name20;char sex;int age;float score;char addr30;每个数据项被称为该结构体的每个数据项被称为该结构体的结构体成员结构体成员注意:注意:struct Student 是一种结构体类型,不是一种结构体类型,不是变量!是变量!C语言程序设计语言程序设计7定义结构体类型定义结构体类型l结构体类型并不是只有一种
5、,而是结构体类型并不是只有一种,而是可以设计出许多种结构体类型可以设计出许多种结构体类型struct Singer /歌手代号歌手代号 int s_id;/歌手参赛歌曲得分歌手参赛歌曲得分 double s1;/歌手综合知识得分歌手综合知识得分 double s2;/总分总分 double sum;struct Date int month;int day;int year;C语言程序设计语言程序设计8练习练习姓名姓名工作单位工作单位邮编邮编固定电话固定电话E-mailLi XinBei Liu LiT通讯录通讯录struct Address_list char name20;char dep
6、art30;int postcode;int phone;char email30;C语言程序设计语言程序设计9C语言程序设计语言程序设计9本次课程所讲内容本次课程所讲内容l定义结构体类型定义结构体类型l定义结构体类型变量定义结构体类型变量l引用结构体变量引用结构体变量l给结构体变量赋值给结构体变量赋值l结构体的嵌套结构体的嵌套l结构体数组结构体数组l指向结构体类型变量的指针指向结构体类型变量的指针C语言程序设计语言程序设计10定义结构体类型定义结构体类型变量变量l先声明结构体类型再定义结构体变量先声明结构体类型再定义结构体变量struct Student int num;char name2
7、0;char sex;int age;float score;char addr30;struct Student student1,student2;结构体变量结构体变量struct 结构体类型名结构体类型名 结构体成员列表结构体成员列表;struct 结构体类型名结构体类型名 结构体变量结构体变量 名列表名列表C语言程序设计语言程序设计11定义结构体类型定义结构体类型变量变量l声明结构体类型的同时定义结构体变量声明结构体类型的同时定义结构体变量struct Student int num;char name20;char sex;int age;float score;char addr3
8、0;student1,student2;struct 结构体类型名结构体类型名 结构体成员列表结构体成员列表;结构体变量名列表结构体变量名列表;C语言程序设计语言程序设计12定义结构体类型定义结构体类型变量变量l不指定类型名而直接定义结构体类型变量不指定类型名而直接定义结构体类型变量struct int num;char name20;char sex;int age;float score;char addr30;student1,student2;struct 结构体成员列表结构体成员列表;结构体变量名列表结构体变量名列表;没有结构体类型名没有结构体类型名这种情况只能在定义结构这种情况只能
9、在定义结构体类型的同时定义结构体体类型的同时定义结构体变量变量定义结构体类型定义结构体类型变量变量l定义结构体类型变量之后,系统会为之分配定义结构体类型变量之后,系统会为之分配内存空间,该变量内存空间,该变量的长度的长度(所占字节数所占字节数)也被也被固定下来固定下来struct Student int num;char name20;char sex;int age;float score;char addr30;struct Student student1,student2;student1和和student2的长度为的长度为4201443063结构体类型变量的长度等于结构体类型变量的长
10、度等于它的各成员长度之和。它的各成员长度之和。C语言程序设计语言程序设计14定义结构体类型定义结构体类型变量变量l运算符运算符sizeof()返回各类型变量的长度返回各类型变量的长度sizeof(struct Student)C语言程序设计语言程序设计15C语言程序设计语言程序设计15本次课程所讲内容本次课程所讲内容l定义结构体类型定义结构体类型l定义结构体类型变量定义结构体类型变量l引用结构体变量引用结构体变量l给结构体变量赋值给结构体变量赋值l结构体的嵌套结构体的嵌套l结构体数组结构体数组l指向结构体类型变量的指针指向结构体类型变量的指针C语言程序设计语言程序设计16引用结构体变量引用结构
11、体变量lC语言对结构体变量的处理是通过语言对结构体变量的处理是通过对其成员的引用实现的对其成员的引用实现的l引用结构体变量中成员的方式为引用结构体变量中成员的方式为结构体变量名结构体变量名.成员名成员名l“.”是成员运算符,它在所有的运是成员运算符,它在所有的运算符中优先级最高算符中优先级最高一个整体一个整体C语言程序设计语言程序设计17引用结构体变量引用结构体变量lstudent1.num代表代表student1变量中的变量中的num成员成员l对变量的成员赋值对变量的成员赋值student1.num=1001;l输入变量的成员输入变量的成员scanf(%d,);l输出变量的成员输出变量的成员
12、printf(%d,);l同类的结构体变量可以同类的结构体变量可以 互相赋值互相赋值student1=student2;&student1.numstudent1.numstruct Student int num;char name20;char sex;int age;float score;char addr30;student1,student2;引用结构体变量引用结构体变量l对结构体变量的成员可以像普通变量对结构体变量的成员可以像普通变量一样进行各种运算一样进行各种运算student2.score=student1.score;sum=student1.score+student2.
展开阅读全文