- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章 ??结构体与共用体(6学时)
学习目的与要求:
1、掌握结构体变量的定义与引用;
2、重点掌握链表的建立、插入、删除、输出等操作;
3、了解共用体变量的定义与引用。
重点:
1 、掌握结构体变量的定义与引用;
2 、重点掌握链表的建立、插入、删除、输出等操作。
第1讲
知识归纳
1、结构体和结构体变量的定义:
格式一:
struct 结构体名 //定义结构体
{
类型 成员名;
} ; 此处分号不能少;
struct 结构体名 变量名1,变量名2……; //定义结构体变量
格式二:
struct 结构体名 //定义结构体与变量
{
类型 成员名;
} 变量名1,变量名2……;
(1)?? 注意:只能对结构体变量赋值、存取或运算,而不能对结构体赋值、存取或运算 ;结构体是一个数据类型,与int , folat 一样,都是数据类型,所以数据类型本身不能获值,只不过结构体类型是一个构造数据类型,与数组类似;
(2)?? 一个结构体变量所占的存储空间,是各个成员所占空间的和;
2、结构体变量的引用:
格式:结构体变量名. 成员名 ;
(1)?? 不能将一个结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员分别进行输入和输出 ;结构体变量中的各个成员等价于普通变量;
(2) . ------ 是成员运算符;他在所有运算符中优先级最高;
(3) 结构体变量的成员可以进行各种运算;
如: struct strdent
{ int num ;
char name [10] ;
int age ;
float score;
} student1 ;
scanf( “%d %s%d%f” , student1.num,student1.name , student1.age ,student1.score) ;
student1.age++ ;
3、结构体数组:
(1) 先定义结构体类型;
(2) 然后定义结构体类型数组,方法同普通类型数组的定义;
struct strdent
{ int num ;
char name [10] ;
int age ;
float score;
} student [5] ;
student[0].score := 480;
4、指向结构体变量或数组的指针:
(1)?? 通过指向结构体变量或数组的指针,访问结构体变量或数组的成员的格式:
( * p ) . 成员名 ;
p à 成员名;
等价于 结构体变量。成员名;
(2)?? à -------称为指向运算符;与成员运算符(.) 一样,级别最高;
如: struct strdent
{ int num ;
char name [10] ;
int age ;
float score;
} student1 ;
struct strdent p ;
p = student1 ;
(*p).num=1001;
strcpy(p- name , “Wanglin”);
(*p).age=20;
p - score=480 ;
?
基础训练(A)
一、填空题:
1、 定义结构体的关键字是____________。
2、 一个结构体变量所占用的空间是____________________。
3、有如下定义并初始化,请填写信息输出语句。
struct person {char name[9];
Int age;
}
struct person class[4]={“John”,17,
“Paul”,19,
“Mary,18,
“adam”,16
}
main()
{ int I;
for ( i=0;i4;i++)
printf(______________________________) 。
}
4、 指向结构体数组的指针的类型是___________________。
5、 通过指针访问结构体变量成员的两种格式______________和_______________。
二、选择题
1、当说明一个结构体变量时系统分配给它的内存是( )。
A)各成员所需内存量的总和
B)结构中第一个成员所需内存量
C)
文档评论(0)