c语言结构体与共同体.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 结构体与共用体 【教学要求】 1.理解结构体的含义。 2.掌握结构体类型变量的定义方法。 3.掌握结构体类型变量的引用方法。 4.掌握结构体类型变量如何在定义的同时初始化。 5.理解共同体的含义,掌握共同体类型变量的定义方法。 6. 了解结构体数组的定义和数组元素的引用。 7.了解指向结构体类型数据的指针的概念及使用。 8.了解链表结点的结构形式,链表的基本操作。 9.了解枚举类型的定义,及枚举类型的输入输出。 10.了解TYPEDEF的作用。 第八章 结构体与共用体 结构体(struct) 共同体(union) 结构体与共用体小结 枚举类型(enum) typedef定义类型 结构体(struct) 结构体的概念 结构体数组 结构体指针 结构体的概念 结构体的定义 结构体变量的存储特点 结构体变量的引用 结构体的初始化 结构体的定义 1、含义:不同类型数据的集合。 2、功能:用于描述一个“概念”。(或记录) 如:num name sex age score addr 10010 LiFun M 18 87.5 BeiJing 3、定义方法: 方法一:在定义结构体类型的同时,直接给出结构体变量。 如: struct 结构体名 { 结构体成员变量的定义; } 变量名1,变量名2,...,变量名n; 方法二:先给出结构体类型的定义,再定义结构体变量。 如: struct 结构体名 { 结构体成员变量的定义; 例: } ; struct 结构体名 变量名1,变量名2,...,变量名n; 4、要点: 方法二: struct student { int number; char name[20]; char sex; int age; float score; char addr[30]; }; struct student student1,student2; 4、要点: 结构体名(struct): 用于标识一种新的数据类型, 即结构体类型,可以省略。 注意区分结构体类型与基本数 据类型的不同,它是复合数据 类型。 结构体成员变量与普通变量的 定义一样,它还可以是结构体 变量。 结构体变量的存储特点 结构体类型变量的引用 一、原则:通过结构体的成员来引用结构体变量。 二、成员的引用方法为:结构体变量名.成员名 三、要点: 1.结构体变量不能整体输入输出,只能对它的成员进行操作。 如:student1.num; 2.如果成员本身又是一个结构体类型,则要使用若干个成员运算符,逐级找到最底层的成员。 如:student1.birthday.day 3.成员变量可以象一般的变量一样进行各种运算,只是在运算时要加上“.”运算符。 4.可以引用成员的地址。 结构体变量的初始化 一、只可以给主函数中或外部存储类别和静态存储类别的结构体变量、数组赋初值。 1、对外部存储类型的初始化. 2、对静态存储类型的结构体变量进行初始化 二、给结构体变量赋初值不能跨越前面的成员而只给后面的成员变量赋值。 例exp8_1:对外部存储类型的初始化. #include stdio.h struct student { long number; char name[20]; char sex; int age; float score; char addr[30]; }a={99641,”Li Ping”,’M’,56,”Tianjin Street”}; main() { printf(“No.:%ld\nname:%s\nsex:%c\naddress:%s\n”, a.num,a.name,a.sex,a.addr); } 例exp8_2:对静态存储类型的结构体变量进行初始化. #include stdio.h main() { static struct student { long number; char name[20]; char sex; int age; float score; char addr[30]; }a={99641,”Li Ping”,’M’,56,”Tianjin Street”}; printf(“No.:%ld\nname:%s\nsex:%c\naddress:%s\n”,

文档评论(0)

fpiaovxingl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档