- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第09章使用结构体类型处理组合数据--用户自定义数据类型(理论课)
/*例9.4有N个学生的信息(学号,姓名,成绩),要求按成绩由低到高输出学生的信息*/ #include stdio.h #define N 5 /*假设有5个学生*/ struct student /*声明结构体类型struct student*/ { int num; char name[20]; float score; }; void main() { struct student stu[5]={{10101,Zhang,78},{10103,Wang,98.5},{10106,Li,86}, {10108,Ling,73.5},{10110,Fun,100}}; /*定义结构体数组,并初始化*/ struct student temp; /*结构体变量temp,临时交换之用*/ int i,j,k; printf(The order is:\n); for(i=0;iN-1;i++) { k=i; for(j=i+1;jN;j++) if(stu[j].scorestu[k].score) /*比较成绩*/ k=j; temp=stu[k];stu[k]=stu[i];stu[i]=temp; /*stu[k]与stu[j]整体交换*/ } for(i=0;iN;i++) printf(%6d %8s %6.2f\n,stu[i].num,stu[i].name,stu[i].score); /*输出结果*/ printf(\n); } 用{ }包起来更加清晰 内容进度 定义和使用结构体变量 结构体数组 结构体指针 */28 结构体指针 结构体指针是指向结构体数据的指针 一个结构体变量的起始地址就是这个结构体变量的指针 把一个结构体变量的起始地址存放在一个指针变量中,则指针变量就指向该结构体变量 指针变量也可以指向结构体数组中的元素 例9.5通过指向结构体变量的指针变量输出结构体变量中成员的信息 */28 */28 /*例9.5通过指向结构体变量的指针变量输出结构体变量中成员的信息*/ #include string.h #include stdio.h void main() { struct student /*声明结构体类型struct student*/ { long num; char name[20]; char sex; float score; }; struct student stu_1; /*结构体变量stu_1*/ struct student *p; /*指向结构体类型数据的指针变量p*/ p=stu_1; /*p指向结构体变量stu_1*/ stu_1.num=10101; /*对结构体变量的num成员赋值*/ strcpy(stu_1.name,Li Lin); /*对结构体变量的name成员赋值*/ stu_1.sex=M; /*对结构体变量的sex成员赋值*/ stu_1.score=89.5; /*对结构体变量的score成员赋值*/ printf(NO.:%ld\nName:%s\nSex:%c\nScore: %5.1f\n,stu_1.num,stu_1.name,stu_1.sex,stu_1.score); printf(\nNO.:%ld\nName:%s\nSex:%c\nScore:%5.1f\n, (*p).num,(*p).name,(*p).sex,(*p).score); /*使用结构体指针输出*/ } 二者等价! 结构体指针 /*例9.6有3个学生信息,放在结构体数组中,输出全部学生的信息*/ #include stdio.h struct student /*声明结构体类型struct student*/ { long num; char name[20]; char sex; int age; }; struct student stu[3]={{10101,Li Lin,M,18},{10102,Zhang Fun,M,19}, {10104,Wang Min,F,20}}; /*定义结构体变量,并初始化*/ void main() { struct student *p; /*定义指向结构体变量的指针*/ printf(NO. Name Sex Age\n); for(p=stu;pstu+3;p++) printf(%5d %-20s %2c %4d\n,p-num,p-name,p-sex,p-age); /*输出结果*/ } */28 等价于(*p).name 本章内容总结
您可能关注的文档
最近下载
- Unit 6 Understanding ideas Longji Rice Terraces 课件-高中英语外研版(2019)必修第一册.pptx VIP
- 护理学导论(高职)教学教案.docx
- 2024年部编新改版语文六年级上册全册月考试题含答案(共4套).docx
- 饮用水和环境卫生公众健康宣教及风险沟通答案-2024年全国疾控系统“大学习”活动.docx VIP
- 新型冠状病毒、甲型和乙型流感病毒全预混冻干多重荧光PCR检测试剂盒及其检测方法发明专利.pdf VIP
- 基金会捐赠协议.doc VIP
- XX市智慧安居工程(一期)报警求助综合受理指挥分系详细设计方案.doc VIP
- 《乡土中国》 第11篇 《长老统治》.ppt
- [知识]职业生涯人物访谈(教师).pdf VIP
- 第六单元整本书阅读《西游记》课件 2024—2025学年统编版语文七年级上册.pptx VIP
文档评论(0)