结构简介 定义结构1 定义结构2 声明结构变量 声明结构变量 第四种方式 typedef struct { char name[12]; char sex; struct date brthday; float sc[4]; }STREC; STREC std,pers[3],*pstd; 嵌套结构 结构变量初始化 结构变量赋值 使用结构示例 结构指针变量 结构体变量的引用: (1)不能将一个结构变量作为一个整体进行输入和输出.例如已定义st1,st2为结 构体变量并且它们已有值,不能这样引用: printf(“%d,%s,%c,%d,%f,%s\n”,st1);只能对结构体变量中的各个成员分别 进行输入和输出. 结构体变量名.成员名 (2)如果成员本身又属一个结构体类型,则要用若干个成员运算符,一级一级地 找到最低的一级成员,只能对最低级的成员进行赋值或存取以及运算. 例如: student1.birthday.month (3)对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可 以进行的运算). student1.num++ 或++ student1.num 由于.运算符的优先级最高,因此, student1.num++j是对student1.num进行自加运算,面不是先对num进行自 加运算. (4)可以引用结构体变量成员的地址,也可以引用结构体变量的地址.如下: scanf(“%d”,student1.num); //输入student1.num的值 printf(“%x”,student1); //输出student1的首地址) 但不能用以下语句整体读入结构体变量.如: scanf(“%d,%s,%c,%d,%f,%s”,student1); 结构体变量的地址主要用于作函数参数,传递结构体的地址. 在上面的例子中(*pstu).num和(*pstu).name 是pstu指向了结构变量中的成员 num和name.注意*p两侧的括弧不可省,因为成员运算符“ . ”优先于“ * ”运算 符,*pstu.num就等价于*(pstu.num). 请分析以下几种运算符: 1:p-n 得到p指向的结构体变量中的成员n的值 2:p-n++ 得到p指向的结构体变量中的成员n的值,用完该值后使它加1 3:++p-n 得到p指向的结构体变量中的成员n的值使之加1(先加) 结构体数组应用举例2: 对候选人得票的统计程序.设有3个候选人,每次输入一个得票的候选人的名字, 要求最后输出各人得票结果. #includestring.h Struct person { char name[20]; int count; }leader[3]={“Li”,0, “Zhang”,0, “fun”,0,}; main() { int I,j; Char leader_name[20]; For(i=1;i=10;i++) { scanf(“%s”,leader_name); for(j=0;j3;j++) If(strcmp(leader_name,leader[j].name)==0)leader[j].count++; } Printf(“\n”); For(i=0;i3;i++) Printf(“%5s:%d\n”,leader[i].name,leader[i].count); } 结构数组 结构指针变量 指向结构体数组的指针 例题: struct student { int 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}}; main() { struct student *p; Printf(“no./t name /t sex /t age \n”); For(p=stu;pstu+3;p++) { printf(“%5d %-20s %2c %4d\n”,p-num,p-name,p-sex,p-age); } } 注意以下两点: 1、如果p的初值为stu,即指向每个元素,则p+1后指向下一元素的起始地址。例如 (++p)-num先使p自加1,然后得到它指向的元素中的num成员值(即10102). (p++)-n
您可能关注的文档
- 自然伽马测井详解.ppt
- 第14课灿烂的宋元文化(二)摘要.ppt
- 第二章 个体行为的基础摘要.ppt
- 第14章_第一节急性腹膜炎病人的护理摘要.ppt
- 第二章 理想光学系统摘要.ppt
- 自然界中的守恒定律详解.ppt
- 第14章DNA的生物合成摘要.ppt
- 第二章(第2,3节)单自由度系统的自由振动摘要.ppt
- 自然景观作文详解.ppt
- 第14章XML及其应用摘要.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 部编版六年级语文下册全册一课一练同步练习题配知识点归纳(含答案).pdf VIP
- 预制空心内夯载体桩技术.pdf VIP
- 2025版《全基础题型》高考数学-基础题(721例题型).docx VIP
- (正式版)DB21∕T 4190-2025 《既有住宅适老化改造建筑设计规程》.pdf VIP
- T_NBSC 001-2026(可口革囊星虫养殖技术规范).pdf
- 餐饮业食品安全管理八项制度.pptx VIP
- 法医学中的法医现场勘查学 .pdf VIP
- 中风的中医诊疗方案.pdf VIP
- 2025年自来水供应专属承包合同样本版.docx VIP
- (2025春新教材)人教版PEP版三年级英语下册全册教案件 .pdf
原创力文档

文档评论(0)