- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章_用户自定义数据类型
第九章 用户自定义数据类型;;C
数
据
类
型;考虑一个学生的基本信息包括:
学号、姓名、性别、年龄、成绩、住址等。
这对一名学生来说是一个整体,可以反映出学生的基本情况,如果用单个变量分别表示这几项,例如:
sum:学号 name[10] :姓名 sex:性别
age: 年龄 score: 成绩 addr[30]:住址
不能体现出它们之间的内在联系。
所以,希望有一种变量,来表示所有这些数据,也就是,把这些基本变量,作为一个整体构成一个新的变量,这种变量就是我们要介绍的结构体变量。;9.1 结构体;例 struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}; ;例
struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
struct student stu1,stu2; ;2、定义结构体类型的同时定义结构体变量
一般形式:;3、直接定义结构体变量
一般形式:;说明
结构体类型与结构体变量概念不同
类型:不分配内存; 变量:分配内存
结构体类型是一个模型,类似系统给定的基本类型比如int、 float 等类型,只是结构体类型是用户自定义的而已。
结构体可嵌套
结构体成员名与程序中变量名可相同,不会混淆
;引用规则
结构体变量不能整体引用,只能引用变量成员
;可以将一个结构体变量赋值给另一个结构体变量
结构体嵌套时逐级引用;形式一:;形式二:;形式三:;结构体数组的定义
三种形式:;例 统计候选人选票;结构体数组初始化;结构体数组引用;指向结构体变量的指针
定义形式:struct 结构体名 *结构体指针名;
例 struct student *p;;使用结构体指针变量引用成员形式;指向结构体数组的指针;用指向结构体的指针作函数参数
用结构体变量的成员作参数----值传递
用指向结构体变量或数组的指针作参数----地址传递
用结构体变量作参数---- 值传递,效率低;
构造数据类型,也叫联合体
用途:使几个不同类型的变量共占一段内存(相互覆盖)
共用体类型定义
定义形式:;形式一:
union data
{ int i;
char ch;
float f;
}a,b;;共用体变量引用
引用方式:;例 将一个整数按字节输出;结构体与共用体
区别: 存储方式不同;例 结构体中嵌套共用体 ; 概念: 对于数组,编译系统为其分配连续的一片存储单元,而链表,通过动
态分配内存,实现链表中各元素(结点)的数据存放在非连 续的单元中. ;?动态分配内存函数:
格式1:viod *malloc(unsigned int size)
功能: 在内存的动态存储区中分配长度为size(单位:byte)
连续空间,返回该连续域的首地址(是无类型指针);
未成功,返回 0。
;struct student
{ int num;
char name[10];
struct student *next;
} *pt;
pt=(struct student *) malloc(sizeof(struct student))
pt num
name[10]
next
您可能关注的文档
- 第三章杆件的强度、刚度和稳定性.ppt
- 第三章机电传动断续控制.ppt
- 第三章数组及其应用.ppt
- 第三章最简单的C程序设计_顺序程序设计.ppt
- 第三章消费者选择1[基数效用论].ppt
- 第三章文字ppt_汉字概说.ppt
- 第三章数据链路层_下.ppt
- 第三章消费者的行为选择.ppt
- 第三章检索策略及中文数据库.ppt
- 第三章示例-截交线和相贯线实例.ppt
- 浙江省县域教研联盟2024-2025学年高三上学期12月模拟考试技术试题-高中信息技术2.docx
- 湖南省岳阳市云溪区2024-2025学年高三上学期11月期中地理试题.docx
- 浙江省杭州市北斗联盟2024-2025学年高一上学期期中联考政治试题2.docx
- 广东省肇庆市实验中学高三理科化学第16周限时训练.doc
- 黑龙江省牡丹江市第一高级中学2024-2025学年高一上学期11月期中地理试题2.docx
- 云南省玉溪市峨山一中2017-2018学年高二四月份月考生物试题.doc
- 山东省实验中学高三第三次诊断考试历史试题.docx
- 山东省菏泽第一中学2024-2025学年高二上学期第一次月考历史试题含答案.docx
- 山东省菏泽市2024-2025学年高一上学期11月期中数学试题(A)含解析.docx
- 安徽省六安市舒城中学高三仿真(一)文科综合试题.doc
文档评论(0)