第10章结构体、共同体和枚举类型选编.ppt

  1. 1、本文档共125页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章结构体、共同体和枚举类型选编

第10章 结构体、共同体和枚举类型;10.1 结构体类型; 学生的信息包括学号、姓名、性别、年龄和成绩 用单个变量表示学生信息 用结构体类型描述学生信息;一、结构体类型声明; 学生的信息包括学号、姓名、性别、年龄和成绩 struct student { char sno[8]; // 学号 char name[20]; // 姓名 char sex; // 性别 int age; // 年龄 double score[3]; // 三门课程的成绩 };; 结构体类型声明的一般形式: struct [标记名称] { 成员列表 }; 标记名称是一个标识符,也可以省略标记名称,表示匿名结构体类型; 成员列表是组成这个结构体类型的各数据项,其一般形式: 类型说明符1 成员名1_1 [, 成员名1_2, 成员名1_3, …]; 类型说明符2 成员名2_1 [, 成员名2_2, 成员名2_3, …]; …… 类型说明符n 成员名n_1 [, 成员名n_2, 成员名n_3, …]; 成员名是一个标识符; 结构体类型声明既可以放在函数之外,被其作用范围内的所有函数使用;也可以放在某个函数的函数体内,只能在该函数的函数体内使用; 如果 sizeof 运算符的运算对象是结构体类型,运算结果是所有成员占内存大小(按字节计算)再加上内部和尾部填充所占内存大小(按字节计算)的总和 struct student { char sno[8]; char name[20]; char sex; sizeof(struct student) int age; double score[3]; };;二、结构体类型的变量声明;1、先声明结构体类型再声明变量 struct 标记名称 { 成员列表 }; struct 标记名称 变量名1 [, 变量名2, 变量名3, …];;struct student { char sno[8]; char name[20]; char sex; int age; double score[3]; }; struct student s;;2、在声明结构体类型的同时声明变量 struct 标记名称 { 成员列表 } 变量名1 [, 变量名2, 变量名3, …];;struct student { char sno[8]; char name[20]; char sex; int age; double score[3]; } s1, s2;;3、使用匿名结构体类型声明变量 struct { 成员列表 } 变量名1 [, 变量名2, 变量名3, …];;struct { char sno[8]; char name[20]; char sex; int age; double score[3]; } s1, s2;;struct date { int year; int month; int day; };;三、初始化结构体类型的变量 在结构体类型的变量声明时给变量赋值,称为初始化;struct student { char sno[8]; char name[20]; char sex; int age; double score[3]; }; struct student s = {2015001, LiMing, M, 18, {85.0, 92.5, 95.5}};;struct date { int year; int month; int day; }; struct student t = {2015001, LiMing, M, {1997, 11, 18}, {85.0, 92.5, 95.5}};;四、引用结构体类型的变量 1、不能将结构体类型的变量作为一个整体进行输入或输出;struct student { char sno[8]; char name[20]; char sex; int age; double score[3]; }; struct student s = {2015001, LiMing, M, 18, {85.0, 92.5, 95.5}}; printf(%s, %s, %c, %d, %f,

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档