- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
您可能关注的文档
最近下载
- SY_T 5660-2020 钻井液用包被絮凝剂 聚丙烯酰胺类.pdf VIP
- 2021-202x年基金管理人员工跟投基金投资协议-经典(律师审定版).docx
- 2010-2015年 中国电梯行业市场发展前景及投资分析报告.doc
- 78度智慧参考资料.pdf
- 基层儿科医务人员服务能力提升学习班答案-2024华医网继续教育答案.docx VIP
- DELTA台达伺服驱动器 ASDA-A2使用手册-操作说明书.pdf
- 国际贸易实务英文版(第五版)周瑞琪教材辅导习题解答.pdf
- 基于高斯滤波和近似积分的电动车窗防夹算法.pdf
- Application for Export Transaction 离岸客户填写指南.doc VIP
- 2023年膨化食品行业市场需求分析报告及未来五至十年行业预测报告.docx
文档评论(0)