- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章_其他数据类型、预编译与位运算
3.结构体变量的引用 一般情况下,不能将一个结构体变量作为整体来引入,只能引用其成员。引用结构体成员的一般形式如下: 结构体变量名.成员名 如:student1.sex=‘男‘; scanf(”%d”,student1.num); Prinf(“%s”,student1.name); 结构体变量的引用(特殊) 1.若成员本身又是一个结构体数据类型,则应使用多个成员运算符,一级一级引用成员,遵循整体到局部的原则。 例如:student1.birthday.month=9; 2.若成员是一个数组,一般不整体引用(数组名),但可使用该成员的某个元素,如: student1.name[0]=65; 结构体变量的整体引用 1)两个同类型结构体变量之间赋值; 2)获取结构体变量的地址:结构体成员在内存中是连续存放的,结构体变量的首地址即结构体变量第一个成员的地址。 4结构体变量的初始值的获取 1)初始化:在定义时 struct student { int num; char *name; char sex; float score; }boy2,boy1={102,Zhang ping,M,78.5}; 4结构体变量的初始值的获取 2)通过赋值语句或输入语句对结构体变量的成员赋值 p162 例9.2 5结构数组 如果数组的每一个元素都具有相同的结构体类型,则构成结构体数组。 例如: struct student { int num; char *name; char sex; float score; }stud[5]; 结构数组的初始化 struct student { int num; char *name; char sex; float score; }boy[5]={{101,Li ping,M,45},{102,Zhang ping,M,62.5}, {103,He fang,F,92.5},{104,Cheng ling,F,87},{105,Wang ming,M,58}}; 也可使用循环控制结合输入语句进行输入 for(i=0;i5;i++) Scanf(“%d,%s,%c,%f”,boy[i].num,boy[i].name,boy[i].sex,boy[i].score); 结构数组的使用举例 #include stdio.h int main (void) { int i,c=0; float ave,s=0; for(i=0;i5;i++) { s+=boy[i].score; if(boy[i].score60) c+=1; } printf(s=%f\n,s); ave=s/5; printf(average=%f\ncount=%d\n,ave,c); return 0; } 指向结构变量的指针 struct student { int num; char name[20]; char sex; float score; }; struct student stu; /*结构体变量*/ struct student *p; /*结构体指针*/ p = stu; 结构体指针变量的引用 有了上述关联,则对结构变量成员的引用三种形式等价: stu.sex (*p).sex p-sex 3)指向结构体数组的指针 #include stdio.h int main (void) { ....….. struct student stu[3]; struct student *p = stu; /* 指向stu[0] */ p++; /* 指向stu[1] */ p++; /* 指向stu[2] */ ....….. return 0; } 例9-5 用指针变量输出结构数组 #include stdio.h struct student { int num; char *name; char sex; float score; }boy[5]={ {101,Zhou ping,M,45},{102,Zhang ping,M,62.5}, {103,Liou fang,F,92.5},{104,Cheng ling,F,87}, {105,Wang ming,M,58}, }; 4)结构体指针用作函数参数 int main (void) { struct student *ps; void ave(struct student *ps); ps=boy;
您可能关注的文档
最近下载
- 寻甸基础资料汇编.docx
- 钟俊良述 职 述廉 报 告.doc VIP
- 钻井液用纳米二氧化硅封堵剂的制备与性能评价-褚奇.pdf VIP
- 人教版英语八年级上册完型填空(15空)+阅读填表专项训练一(含详解).pdf VIP
- QCR 278-2015 机车空调装置.pdf
- 广东省广州市海珠区2023-2024学年高一上学期期末考试语文试题.doc VIP
- 防汛抢险方案.docx VIP
- 2020-2021某大学《现代仪器分析》期末课程考试试卷(含答案).doc
- T_CMES 26009—2021八月瓜鲜果皮肉籽分离技术规范.pdf VIP
- 钳工技能考试:高级车辆钳工(货车)考试考点巩固(强化练习).docx VIP
文档评论(0)