- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言基础教程Lesson17
Lesson 17
结构体类型、结构体类型变量
结构体类型数组变量
结构体类型
多个数据项逻辑上构成一个数据元素?
如:
每个学生都有学号、姓名
每本书都有书号、书名、作者、价格
用自定义数据类型结构体类型
结构体类型声明
struct 结构体类型名 struct point
{ {
数据类型成员1; int x;
int y;
数据类型成员1;
};
…… struct student
数据类型成员n; {
} ; int sNum;
char name[10];
声明的是数据类型,不是变量!};
多个数据项可以是不同类型。
结构体类型变量定义
定义变量
point p1,p2; // 对比:int x, y;
student z,w; //定义两个student类型的变量
定义时初始化
point p1 = {1, 2};
student z = {1, 张一};
p1p1p1 zhang
1 2 1 张一
整型大小 10个字符大小
结构体类型变量占用空间为各个数据项占用空间之和。
顺序存放。
结构体类型变量的成员变量的引用
结构体变量名. 成员名
p1.x p1.y
z.sNum z.name
即看成普通变量使用
scanf(%d%d, p1.x, p1.y);
scanf(%s, z.name);
printf(%s, z.name);
p1.x= 1; strcpy(z.name,张一“);
同一结构体类型变量可以赋值
point p1 = {1,2}, p2 ;
p2 = p1 ;
等同于:
p2.x = p1.x ;
p2.y = p1.y ;
例:学生基本信息的组织
学生信息:学号、姓名、出生日期、所
属院系、专业
完成任务
键盘输入30个学生的信息、并屏幕输出;
键盘输入月份和日期,查找并输出本年度在
给定日期之后过生日的学生信息
设计数据结构:
每个学生基本信息用结构体描述
学号 int num;
姓名 char name[24];
出生日期 自定义一个结构:年、月、日
所属院系 char department[48];
专业 char major[32];
struct Date{ /* 日期结构*/
int year;
int month;
int day;
};
struct StudentInfo{ /* 学生信息结构*/
int num;
char name[24];
Date birthday;
char department[48];
char major[32];
};
30名学生用数组表示
#define NUM 30
StudentInfo s[N
文档评论(0)