- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计;引言;复杂数据的表示;结构体;主要内容;结构体类型的概念
结构体是由不同类型的数据所组成的集合体。
结构体类型的的定义:注意类型定义后面的分号
struct 结构体名
{
数据类型 成员名1;
数据类型 成员名2;
…
数据类型 成员名n;
};
;示例一:
struct Student //学生信息结构体
{
char num[10]; //学号
char name[10]; //姓名
char sex; //性别
int age; //年龄
char addr[30]; //住址
};;结构体类型示例;定义结构体变量;定义结构体变量;定义结构体变量;使用typedef重新命名结构体类型名后,结构体变量的定义格式与普通变量相同:
示例一:Date date;
示例二:Student zhang_san;
示例三:Student students[8];//学生结构体数组
;定义结构体变量的同时可以直接设置初值。
typedef struct {int year, month, day;} Date;
typedef struct //学生信息结构体
{
char num[10]; //学号
char name[10]; //姓名
char sex; //性别
int age; //年龄
Date birthday; //出生年月
} Student ;
Student monitor={, ”张明”, ‘M’, 19};
Student monitor={, ”张明”, ‘M’, 19,{1994,1,10}};;与数组不同,结构体量可直接赋值,拷贝过程为逐成员一一复制
如果成员是基本类型,按值复制
如果成员是数组,数组内容会被复制
如果成员是指针,复制指针值(地址),导致两个结构体变量的成员指向同一块内存
示例:
Date date = { 2014, 12, 26 };
Date today = date;
;结构体变量成员的访问
使用点号操作符“.”访问结构体变量的某个特定成员
示例一:Date date; date.year = 2014; date.month = 12; date.day = 26;
嵌套结构体成员的访问
可以连续使用点号逐层访问
示例二:
Student monitor;
monitor. birthday.year=1995;
复杂结构体成员的访问
严格按照语法规范进行
示例三:
Student students[10];
students[0]. birthday.year=1995;;结构体指针变量;结构体指针变量;示例1:编写程序,接受用户输入的两个复数,按照 a + bi 格式打印它们之和,精度精确到小数点后二位;7.2 结构体与函数;结构体类型作为函数返回值;typedef struct{
int x;
int y;
}point_t;
point_t random_point(){
point_t pt;
pt.x=rand()%100;
pt.y=rand()%100;
return pt;
}
int main(){
point_t pt1,pt2;
pt1 = random_point();
pt2 = random_point();
printf(pt1: (%d,%d)\n, pt1.x, pt1.y);
printf(pt2: (%d,%d)\n, pt2.x, pt2.y);
return 0;
};结构体类型作为函数形式参数;结构体类型作为函数形式参数;示例;#includestdio.h
typedef struct
{
char id[10];
char name[20];
int score;
}Student;
void sort(Student sts[], int n )
{
int i,j;
for(i=0; in-1; i++)
{
for(j=i+1; jn; j++)
{
if( sts[j].score sts[i].score)
{
Student st=sts[i];
sts[i]=sts[j];
sts[j]=st;
}
}
}
};int main
您可能关注的文档
- 2015年水利二级建造师实务真题说课.doc
- CAD制作表格说课.doc
- 2015年水利二级建造师实务真题完整版(假一赔10,相信我)说课.doc
- 2015年水利造价师继续教育第七单元及测试说课.doc
- Canon佳能包装检验标准说课.doc
- 2015年税务人员执法资格考试练习题库说课.doc
- Carrefour课长培训说课.ppt
- 2015年四川政法干警行测及说课.doc
- CATTI笔译综合能力二级翻译真题2006-2012说课.doc
- CATTI三级笔译综合能力真题及说课.doc
- 2025年广西百色西林县八达镇人民政府招聘村级财务会计委托代理服笔试备考试题参考答案详解.docx
- 2025年商务部直属事业单位第二批招聘工作人员(169人)考前自测高频考点模拟试题含答案详解(名师推.docx
- 2025年安陆市城市社区党组织书记实行事业岗位管理专项招聘(笔试备考试题及答案详解参考.docx
- 2025年常德市鼎城区卫生健康局所属乡镇卫生院招聘工作人员(笔试备考试题含答案详解(能力提升).docx
- 2025年广西河池市罗城仫佬族自治县农业农村局关于招募特聘农技员考前自测高频考点模拟试题完整参考答案.docx
- 2025年大庆市政务服务中心招聘(1人)考前自测高频考点模拟试题及答案详解(历年真题).docx
- 2025年天津医科大学朱宪彝纪念医院人事代理制招聘方案(5人)模拟试卷及完整答案详解.docx
- 2025年大庆高新区招聘劳务派遣制人员招聘(15人)模拟试卷含答案详解(轻巧夺冠).docx
- 2025年大庆市政务服务中心招聘(1人)模拟试卷含答案详解(黄金题型).docx
- 2025年大庆市信访局招聘(1人)笔试备考试题附答案详解(名师推荐).docx
文档评论(0)