- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结构体的嵌套问题
结构体嵌套的问题
作者: likefreebird ?时间: 2010-05-24 12:00:00
指针变量非常灵活方便,可以指向任一类型的变量,若定义指针变量指向结构体类型变量,则可以通过指针来引用结构体类型变量。7.3.1 指向结构体类型变量的使用首先让我们定义结构体:struct stu{char name[20];long number;float score[4];} ;再定义指向结构体类型变量的指针变量:struct stu *p1, *p2 ;定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员;[例7-2] 对指向结构体类型变量的正确使用。输入一个结构体类型变量的成员,并输出。#include stdlib.h /*使用m a l l o c ( ) 需要* /struct data / *定义结构体* /{int day,month,year;} ;struct stu /*定义结构体* /{char name[20];long num;struct data birthday; /嵌*套的结构体类型成员*/} ;main() /*定义m a i n ( ) 函数* /{struct stu *student; 定/*义结构体类型指针*/student=malloc(sizeof(struct stu)); 为/指* 针变量分配安全的地址*/printf(Input name,number,year,month,day: );scanf(%s,student-name); 输/*入学生姓名、学号、出生年月日*/scanf(%ld,student-num);scanf(%d%d%d,student-birthday.year,student-birthday.month,student-birthday.day);printf( Outputname,number,year,month,day );/*打印输出各成员项的值*/printf(%20s%10ld%10d//%d//%d ,student-name,student-num,student-birthday.year,student-birthday.month,student-birthday.day);}程序中使用结构体类型指针引用结构体变量的成员,需要通过C提供的函数malloc()来为指针分配安全的地址。函数sizeof()返回值是计算给定数据类型所占内存的字节数。指针所指各成员形式为:student-namestudent-numstudent-birthday.yearstudent-birthday.monthstudent-birthday.day7.3.2 指向结构体类型数组的指针的使用定义一个结构体类型数组,其数组名是数组的首地址,这一点前面的课程介绍得很清楚。定义结构体类型的指针,既可以指向数组的元素,也可以指向数组,在使用时要加以区分。[例7-3] 在例7 - 2中定义了结构体类型,根据此类型再定义结构体数组及指向结构体类型的指针。struct data {intday,month,year;};struct stu/*定义结构体*/{char name[20];long num;struct data birthday;/嵌*套的结构体类型成员*/};struct stustudent[4],*p;定/*义结构体数组及指向结构体类型的指针*/作p=student,此时指针p就指向了结构体数组student。p是指向一维结构体数组的指针,对数组元素的引用可采用三种方法。1)地址法student+i和p+i均表示数组第i个元素的地址,数组元素各成员的引用形式为:(student+i)-name、(student+i)-num和(p+i)-name、(p+i)-num等。student+i和p+i与student[i]意义相同。2)指针法若p指向数组的某一个元素,则p++就指向其后续元素。3)指针的数组表示法若p=student,我们说指针p指向数组student,p[i]表示数组的第i个元素,其效果与student[i]等同。对数组成员的引用描述为:p[i].name、p[i].num等。[例7-4]指向结构体数组的指针变量的使用。structdata/*定义结构体类型*/{intday,month,year;};structstu/*定义结构体类型*/{char name[20];long num;struct data birthda
您可能关注的文档
最近下载
- 猎豹-CS10-产品使用说明书-2.0T 6MT至尊版 -CFA6460AQ-CS10用户手册1.pdf VIP
- 2024年湖北省生态环境监测专业技术人员大比武竞赛考试题库(含答案).docx VIP
- 加油站安全生产考试题及答案.docx VIP
- 迅达9300扶梯安装说明.pdf VIP
- 医院信息化管理资金申请报告.docx
- 台达变频器cp2000使用说明书新.pdf
- 第三届全国沼气生产职业技能竞赛广西夺冠-农业部.PDF VIP
- GB15558.3__燃气用埋地聚乙烯(PE)管道系统 第3部分:阀门.pdf VIP
- 高速公路项目危险源及重大危险源清单.docx VIP
- 2025年交管12123驾驶证学法减分题库含答案大全.pdf
文档评论(0)