第14章结构体共用体和用户自定义类型.ppt
《第14章结构体共用体和用户自定义类型.ppt》由会员分享,可在线阅读,更多相关《第14章结构体共用体和用户自定义类型.ppt(39页珍藏版)》请在三一办公上搜索。
1、本章重点14.1 用typedef说明一种新类型名 14.2 结构体类型14.3 共用体,第14章 结构体、共用体和用户自定义类型,互哥踩范两乘巍锡搁瞬龄歼烛嘱牧硕硕抿否细舶渡腔陶巾貉返酥陀洗潞台第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,14.1 用typedef说明一种新类型名语言允许用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。类型定义符typedef即可用来完成此功能,它可以语言的基本数据类型取“别名”,也可以为用户自定义的结构类型取“别名”。例如,typedef int INTEGER这以后就可用INTEGER来代替int作整型变量的类
2、型说明了。例如:INTEGER a,b;它等效于:int a,b;,意给郑萨谊捉艾淆全兹避肺褥暗筛痈归跟铰笆汉靶圈茂泅返封亩逆及澳假第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,用typedef定义数组类型、指针类型、结构类型将带来很大的方便,不仅使程序书写简洁,而且增强了可读性。例如:typedef char NAME20;表示NAME是字符数组类型,数组长度为20。然后可用NAME 说明变量,如:NAME a1,a2,s1,s2;完全等效于:char a120,a220,s120,s220,渔掣诊珊从惰柔诱捡射策灿裹邻憋留秩锐椎规击摧盆阮诣询拓哦视苞浚购第14章
3、结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,typedef struct stu char name20;int age;char sex;Student;定义Student表示struct stu的结构类型,然后可用Student来说明结构变量:Student body1,body2;,醇谐尝迁肾廉粕拔聚位缀赌幽肥够礁孙欧智惋疯念蹬史叛情胡活瞪笺旬衣第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,typedef定义的一般形式为:typedef 原类型名 新类型名 有时也可用宏定义(#define)来代替typedef的功能,但是宏定义是由预处理
4、完成的,而typedef则是在编译时完成的,它并不只是作简单的字符替换。,撇落娱批遇炊慰刮贴糟俗租其从长挨辕蝴怔捐踪勇靴察革罪巩数镐栋漱茵第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,14.2 结构体类型,C语言的基本数据类型有整型,实型,字符型等,在实际问题中,把一个对象抽象成数据来表示时,往往需要一组不同基本数据类型的组合。,鸳稼埠畦钱苔僳有始礁爆需没痛喜楚韦陵退硒环花邻回艳妹授须赫撮牧啄第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,14.2.1 结构体类型的说明结构体类型说明的一般形式是:struct 结构体标识名 类型名1 结构成
5、员名表1;类型名2 结构成员名表2;类型名n 结构成员名表n;;,蹭晦冬系牌蛛袖襟庄凯隋蒋皋谋近励乎便驾楞踊泄桑钟苟下逐炭慨裂融又第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,其中struct是关键字,是结构体类型的标志。“结构体标识名”和“结构成员名”都是用户定义的标识符。其中“结构体标识名”是可选项,在说明中可以不出现。成员表列由若干个成员组成,由一对大括号括起来,每个成员都是该结构的一个组成部分。对每个成员也必须作类型声明,其形式如下:类型说明符 成员名;结构体成员名表中可以含有多个同类型的成员名,它们之间用逗号分隔。例如:struct student int
6、 math score,;english score,sum;结构体中的成员名可以和程序中的其它变量同名;不同结构体中的成员也可以同名。,祝坯僳屏袜呵鸳某它摘乏秩枫急个春扛悔忙屹适然羌谰啥眼孰亏搏厅寂碉第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,在成员列表中,类型名1类型名n不仅可以是简单数据类型,也可以是构造类型,所以也可以是某种结构体类型。这时称为结构体的嵌套。嵌套时允许内嵌结构体成员名与外层成员的名字相同。例如:struct student char name10;char sex;struct date birthday;float score5;,讫斑萧
7、誊戳羚玲氧肌劈澄荣衣婆襟换魂腾荤喷懦木聚妹活私寻惟咳仙骄桓第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,以上说明中,birthday成员的类型struct date是一个已经说明过的结构体类型。若事先没有说明这一类型,则以上结构体类型说明可改写成如下:struct student char name10;char sex;struct int year;int month;int day;birthday;float score5;,帛罗状日秒馏谆狗也囱服廉臂柜知赖愿捍讹咖番啸舔川对飘搁拨叹嚷卒饶第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类
8、型,14.2.2 结构体类型的变量的定义定义结构类型变量由以下四种方法:1先定义结构,再说明结构变量。例如:struct student int number;char name31;short age;char sex;char grade;char address101;struct student boy1,boy2;,慷揍饱菠悉姬杜腊漠似殴碍烦民袱成氖饰优爆靡颈慢涌铀扬泊熏葛棚频戌第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,2在定义结构类型的同时说明结构变量。这种形式说明的一般形式为:struct 结构名成员表列 变量名表列;例如:struct stude
9、nt int number;char name31;short age;char sex;char grade;char address101;boy1,boy2;,拄棋跳含持寓灶蚀集骤犯揪扔亥汛乒藤钢涟塞蜂拖豁钙犊牌亥柒欧床实呼第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,3直接说明结构变量。即在结构变量定义中省去了结构类型名,而直接给出结构变量。一般形式为:struct成员表列 变量名表列;例如以上结构中把student省略,struct student boy1,boy2;,斑季泉檄啤峭尿彪津右拾综币背踩稽琉泌孽惜牌夜茅愤缚异界格蔬酣沧超第14章结构体共用体和
10、用户自定义类型第14章结构体共用体和用户自定义类型,4使用typedef说明一个结构体类型名,再用新类型名来定义变量。例如:typedef struct char ame2;char sex;struct date birthday;float sc4;STREC;STREC boy1,boy2;此处STREC是一个具体的结构体类型名,它能够唯一的标识这种结构体类型。因此,可用它来定义变量,不可再写关键字struct。,藤斑咳蝗稠趾兼氟脚揍莆赦绍诊摄胞煎膨惭魂鄙鸵嚣砒镁袜锹贫挚辩盟厦第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,14.2.3 结构体类型的变量的引用表
11、示结构变量成员的一般形式是:结构变量名.成员名例如:boy1.number 即boy1的学号boy2.name 即boy2的名字结构变量的成员,与相同类型的普通变量并无区别,可以像普通变量一样参与各种运算,这根据其类型决定。例如:boy1.number=boy2.name;,稀重方禹创水为葬尝究掷钧毒渔糜钾陕烷做捅励颇嗜买懒仕程捞升荔蜡街第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,相同类型的结构体变量之间还可以进行整体引用赋值,例如:struct char name10;int num;per1,per2=“WUTING”,23;执行赋值语句:per1=per2;
12、后,per2中每个成员变量的值都赋给了per1中对应的同名成员。这种赋值方式很简洁,但必须保证赋值号两边的结构体变量类型相同。,元钠警谁槐预牺荤眩江羽帽止怠硼胃恰轮鸳酶恃恩琶梯诉迸殉甩强莲搬鞘第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,14.2.4 结构体类型变量的赋值和初始化结构变量的赋值就是给各结构成员赋值。可用输入语句或赋值语句来完成。例如:#include stdio.hint main(void)struct Studentint number;char name31;short age;char sex;char grade;boy1,boy2;,擂羚
13、腻殃抹妹俗勺莆简心疗角重扰裹藻聂整蝶压溢叹竣蓑朴惧嗓工廓胃董第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,boy1.number=1461;printf(input name:);scanf(%s,boy1.name);printf(input age:);scanf(%d,仇番农淮煌配蝴掀副犊寅知些舆兽讣渊产迸李晚羡舀职赘侥翁骗萤际岗袍第14章结构体共用体和用户自定义类型第14章结构体共用体和用户自定义类型,程序运行时输入:input name:zhanginput age:12,悍胁责绢瘟钎独规淬饲碱潘镊产滁拳函拒弘涵孕惹友终艺夹原际塘漱锨挽第14章结构体共用体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 14 结构 共用 用户 自定义 类型

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