- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章重点
三种用户构造的数据类型:
10.1 用typedef说明一种新类型名
typedef:对已有的类型,说明一个新的类型标识符
10.2 结构体类型
struct:把具有相互关系的不同类型数据组成一个有机整体。
10.3 共用体
union:使几种不同类型的变量共用一段存储空间;10.1 用typedef说明一种新类型名
C语言允许用typedef说明一种新类型名,说明新类型名的语句一般形式为:
typedef 类型名 标识符;//用标识符来代表已存在的“类型名”,并未产生新的数据类型,原有类型名依然有效。
typedef int INTEGER//可用INTEGER来代替int作整型变量的类型说明
例如:INTEGER a,b; 等效于:int a,b;
又如:typedef char * CHARP;( CHARP表示指向字符型数据的指针类型)
CHARP p;等效于:char *p;;10.2 结构体类型;以学生档案为例,说明结构体类型的说明方法:
姓名(name):字符串
性别(sex):字符型
出生日期(birthday):date结构体
四门课成绩(sc):一维实型数组
例如:struct date{
int year,month,day;};
struct student{
char name[12];
char sex;
struct date birthday;
float sc [4];}; ;10.2.2 结构体类型的变量的定义
定义结构体类型变量、数组和指针变量如下3种方法:
1.紧跟在结构体说明之后进行定义。例如:
struct student{ //结构体类型说明
char name[12];
char sex;
struct date birthday;
float sc [4];
}std,pers[3],*pstd;
// std为结构体类型变量;pers[3]为结构体类型数组;pstd为指向结构体类型的指针;2.先说明结构体类型,再单独进行变量定义。例如:
struct student{ //结构体类型说明
char name[12],sex;
struct date birthday;
float sc [4];};
struct student std,pers[3],*pstd;
3. 使用typedef说明结构体类型名,用新类型名定义变量。如:
typedef struct{ //结构体类型说明
char name[12],sex;
struct date birthday;
float sc [4];
}STREC;// STREC是新结构体类型名,能唯一标识此结构体
STREC std,pers[3],*pstd; ;10.2.3 给结构体变量、数组赋初值
1.给结构体变量赋初值:所赋初值顺序放在一对花括号中
例如:struct student{ //结构体类型说明
char name[12],sex;
struct date birthday;
float sc [4];
}std={“Li Ming”,’M’,1962,5,10,88,76,85.5,90};
2.给结构体数组赋初值
struct bookcard{
char num[5];
float money;
}bk[3]={{“No.1”,35.5},{“No.2”,25.0},{“No.3”,66.7}};
/*bk[0] bk[1] bk[2] */;10.2.4 引用结构体变量中的数据
1.对结构体变量成员引用的三种方式:
(1)结构变量名.成员名//.表示成员运算符
(2)指针变量名-成员名//-表示结构指向运算符
(3)(*指针变量名).成员名
struct student{ //结构体类型说明
char name[12],sex;
struct date birthday;
float sc [4];
}std,arr[5],*ps;
ps=std;;(1)若要引用结构体变量std中的sex成员,可写作:
std.sex /*通过结构体变量引用*/
ps-sex /*通过指针变量
文档评论(0)