- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章结构体与共用体
第十三章 结构体与共用体;13.1 结构体类型变量的定义和引用;有三种形式定义结构体类型的变量
(1)先定义结构体类型,再定义结构体类型变量:
struct stu / *定义学生结构体类型* /
{ char name[20]; / * 学生姓名* /
char sex; / * 性别* /
long num; / *学号* /
float score[3]; / * 三科考试成绩* /
};
struct stu student1,student2;/ * 定义结构体类型变量* /
struct stu student3,student4;
用此结构体类型,可以定义更多的该结构体类型变量。;(2)定义结构体类型同时定义结构体类型变量:
struct data
{ int day;
int month;
int year;
} time1,time2;
也可以再定义如下变量:
struct data time3,time4;
用此结构体类型,同样可以定义更多的该结构体类型变量。;(3)直接定义结构体类型变量:
struct
{ char name[20]; / *学生姓名* /
char sex; / *性别* /
long num; / *学号* /
float score[3]; / *三科考试成绩* /
} person1,person2; / *定义该结构体类型变量* /
该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。 ;引用的形式为:结构体类型变量名 . 成员名
若定义的结构体类型及变量如下:
struct data
{ int day;
int month;
int year;
} time1,time2;
则变量time1和time2各成员的引用形式为:
time1.day、time1.month、time1.year及time2.day、
time2.month、time2.year。
其结构体类型变量的各成员与相应的简单类型变量使用方法完全相同。 ;结构体类型变量的定义和初始化为:
struct stu / *定义学生结构体类型* /
{ char name[20]; / * 学生姓名* /
char sex; / * 性别* /
long num; / *学号* /
float score[3]; / * 三科考试成绩* /
};
struct stu student={liping,f,970541,98.5,97.4,95};
上述对结构体类型变量的三种定义形式均可在定义时初始化。 ;结构体类型变量完成初始化后,即各成员的值分别为:
student.name=liping、student.sex=f、student.num=970541、student.score[0]=98.5、student.score[1]=97.4、student.score[2]=95。
其存储在内存的情况如图:;[例13.1]外部结构变量初始化。
struct stu /*定义结构*/
{ int num;
char *name;
char sex;
float score;
} boy2,boy1={102,Zhang ping,M,78.5};
main( )
{ boy2=boy1;
printf(Number=%d\nName=%s\n”,boy2.num,boy2.name);
printf(Sex=%c\nScore=%f\n”,boy2.sex,boy2.score);
};[例13.2]给结构变量赋值并输出其值。
main( )
{ struct stu
{ int num;
char *name;
char sex;
float score;
} boy1,boy2;
boy1.num=102; boy1.name=Zhang ping;
printf(input sex and score\n);
scanf(%c %f,boy1.sex,boy1.score);
boy2=boy1;
printf(Number=%d\nName=%s\n”,boy2.num,boy2.name);
printf(Sex=%c\nScore=%f\n,boy2.sex,boy2.score);
};C允许定义嵌
您可能关注的文档
- 福建省大田县第四中学七年级语文“在山的那边”课件.ppt
- 离子排序、溶解度计算.ppt
- 社团纳新学生会介绍班干部竞选模板.pptx
- 离散-1-1-命题逻辑.ppt
- 离散数学[刘任任版]第2章答案.ppt
- 禄丰三中-拜如雄-地理“自然灾害与防治[2009高考题集锦”.ppt
- 离散数学第3章[5-6][新教材].ppt
- 神经系统症状学课件[关].ppt
- 离散第3讲半群和群的定义和性质.ppt
- 秉持理性拒绝浮.ppt
- Bosch博世4系 多门冰箱 189.5 x 75.3 cm 白色 K9F72EA20C使用说明书.pdf
- Siemens西门子工业PROFINET IO - Modbus TCP 模块 COM190WT PROFINET IO - Modbus TCP 模块 COM190WT使用手册.pdf
- Bosch博世4系 滚筒洗衣机 10 kg 1200 转 分钟 WGA152000W使用 安装指南.pdf
- Delta台达网络通讯基础设施预制化交直流电源系统台达数据中心基础设施解决方案型录型录.pdf
- 特海国际-市场前景及投资研究报告:海外中餐前景,火锅龙头征程.pdf
- 同兴达-市场前景及投资研究报告:主业改善,回购彰显信心.pdf
- 新大陆-市场前景及投资研究报告-低PE高增长,出海提价.pdf
- 波司登-市场前景及投资研究报告-聚焦主业,基本盘稳固,经营管理,优异业绩.pdf
- 康师傅控股-市场前景及投资研究报告-行业领先优势显著,高分红策略,稳健增长.pdf
- 东方电子-市场前景及投资研究报告-电网二次设备,配网数智化机遇.pdf
文档评论(0)