构造数据类型.ppt
《构造数据类型.ppt》由会员分享,可在线阅读,更多相关《构造数据类型.ppt(42页珍藏版)》请在三一办公上搜索。
1、 已了解的数据类型:,整型,浮点型,字符型,数组,简单数据类型,用户定义的数据类型,特点:所有的元素都是同一种类型,存在的问题:难以处理较复杂的数据,如:建立一份学生档案,对每一个学生至少需要以下一些信息,学号(unsigned num)姓名(char name20)性别(char sex)年龄(int age)成绩(float score)地址(char addr30),9.1.1 结构体的类型定义,C程序可将上述数据的集合定义为一种结构体类型:,struct student unsigned num;char name20;char sex;int age;float score;char
2、 addr30;,上述定义中:struct 关键词(保留字),表示定义一种结构体类型。student 结构体名,相当于类型名(int,float等),其一般形式:struct 结构体名 成员表列;成员表列:类型标识符 成员名,以上仅说明了定义一种类型的方法,尚未定义变量。,9.1.2 结构体类型变量的定义,一、先定义结构体类型再定义结构体变量,三种方法:,则 x1,x2为student 型变量,x1,x2可存放student数据。,例:,二、在定义结构体类型的同时定义变量,例:struct student int num;char name20;char sex;int age;char ad
3、dr30;x1,x2;,成员表列 变量名表列;,定义形式 struct 结构体名,三、直接定义结构类型变量,定义形式 struct 成员表列 变量名表列;不出现结构体类型名,如:struct int num;char name20;char sex;int age;char addr30;x1,x2;,1.类型名与变量名是不同的概念,3.每一个成员的作用如同该类型的变量,4.成员名与程序中的变量名可相同但意义不同,几点说明:,2.允许成员名为另一个已定义的结构型变量,struct date int month;int day;int year;,struct student int num;c
4、har name20;char sex;int age;struct date birthday;char addr30;x1,x2;,结构体的嵌套定义,9.1.3 结构体变量的初始化,struct student x1=8906,Li Ming,M,85.5;,一、先定义结构,在定义结构变量时对每个成员赋初值,如:struct student unsigned No;char name20;char sex;float score;;,若 x1 的起始地址为2000,则 x1 在内存中占有的存储单元为:,共用27个字节的连续单元,struct exp int a=1234;float b=5
5、6.7;char yn8=test;x;,三、结构定义与变量定义及初始化合二为一:,struct exp int a;float b;char yn8;x=1234,56.7,test;,但不能这样写:,9.1.4 结构体变量成员的引用,如:x1为struct student型变量,则 x1.num:表示x1的学号 x1.name:表示x1的名字,访问结构变量实质上是引用其成员,引用格式:结构变量名.成员名 圆点运算符称为成员运算符,它的运算级别是最高的。,有两种运算符可访问结构成员,一、引用结构体变量中成员,注意:,1.只能用变量的成员,不可用结构变量名直接运算。,2.每一个成员的作用与其同
6、类型的简单变量的引用相同。,二、箭头运算符:,struct student char name 10;char sex;int age;float score;char addr20;x1;,struct student p;,例:,则p为结构指针变量,它可用来存放student型变量的地址,令 p=,则 p为x1的首地址.,访问结构成员:,pname 表示x1的姓名;,page 表示x1的年龄;,pname 等价于(*p).name,page 等价于(*p).age,(2)用指针变量(p).成员名(p).num,(3)用指向运算符成员名 p num,(1)结构体变量名.成员名 x1.num,
7、注意:指针变量p必须是结构指针型,,且有p=,struct tempint a;char ch;x1,x2;,main()x1.a=10;x1.ch=a;x2=x1;printf(%d,%c,x2.a,x2.ch);,把结构变量x1的值赋给结构变量x2,如:,三、将结构体变量作为一个整体来使用,可以把一个结构变量赋给另一个同类型的结构变量。,四、关于结构变量的几点说明:,1.结构变量不是一个简单变量,它的值是由许多个基本数据组成。,2.可以把一个结构变量赋给另一个同类型的结构变量。,3.占有的存储单元大小取决于成员的数据类型,struct exp int a;float b;char yn8;
8、,struct exp x=1234,56.7,text,结构变量占用的内存单元为14个字节。,如:,4.不可以将两个结构变量进行关系比较,struct temp int a;char ch;x1,x2;,main()x1.a=10;x2.ch=a;if(x1=x2),5.可通过sizeof()运算符获得结构变量占用的内存大小,struct exp int num;char ch;char name20;float sal;x1;,main()int size;size=sizeof(x1);printf(size=%dn,size);,如:,9.1.5 结构体变量的输入输出,若有 struc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构造 数据类型

链接地址:https://www.31ppt.com/p-2334638.html