第八章 结构体与共用体-1(结构体变量、结构体数组及数组做函数参
C语言
第8章 结构体与共用体 ( 1)
C语言
内容提要结构体类型与结构体变量 结构体数组 结构体数组做函数参数
2010-6-23
C语言
问题的提出对数据类型的回顾: 对数据类型的回顾: int a; ; float b; char c;以上三种类型是系统已经定义好的数据类型, 以上三种类型是系统已经定义好的数据类型,其特性不 能被用户改变. 能被用户改变. 问题: 问题: 可否用一种数据类型将一个学生"学号" 可否用一种数据类型将一个学生"学号","姓名", 姓名" 性别" 成绩" 家庭住址"等信息全部表示出来? "性别","成绩","家庭住址"等信息全部表示出来?2010-6-23 3
C语言
⒈ 结构体类型的引入例如 1: : struct student { int num; char name[20]; char sex; int age; float score; char addr[30];2010-6-23
⒉ 结构体类型的声明struct 结构体名 { 成员表列 }; ;
成员的声明: 成员的声明: 类型名
成员名; 成员名;4
};
C语言
⒉ 结构体类型的声明例如 2: : struct birthday { int month; int day; int year; }; 成员的声明: 成员的声明: 类型名 成员名; 成员名; }; ; struct 结构体名 { 成员表列
2010-6-23
C语言
定义结构体类型变量的方法⒈ 先声明结构体类型再定义变量名例如: 例如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student student1;2010-6-23
变量定义方法的回顾: 变量定义方法的回顾:
int a; a=3; float b; b=3.5; char c; c='a';
C语言
num student1: 10010
name LiFun
sex M
age 18
score 87.5
addr Beijing
假设int型数据在内存中占 字节,float占 个字节,char占 假设int型数据在内存中占4字节,float占4个字节,char占1 型数据在内存中占4 个字节,结构体类型变量 变量student1占多少个字节 占多少个字节? 个字节,结构体类型变量student1占多少个字节?
2010-6-23
C语言
⒉ 在声明类型的同时定义变量 一般形式: 一般形式: struct 结构体名 { 成员表列 }变量名表列; 变量名表列; 变量名表列 例如: 例如: struct birthday { int month; int day; int year; }tom; 2010-6-23
⒊ 直接定义结构体类型变量 一般形式: 一般形式: struct { 成员表列 }变量名表列; 变量名表列; 变量名表列 例如: 例如: struct { int month; int day; int year; }tom ,peter;
C语言
4. 结构体类型的成员也可 以是一个结构体变量. 以是一个结构体变量. 例如: 例如: struct date { int month; int day; int year; }; struct student { int num; char name[20]; char sex; int age; struct date birthday; char addr[30]; }; struct student student1; sex age birthday addr month day year9
num2010-6-23
name
C语言
结构体变量的初始化struct date { int month; int day; int year; 回顾: 回顾:对整型变量的初始化 }; name: Mary int main(void) int a=3; { struct student sex: F { char name[20]; char sex; birthday:10 23 1985 struct date birthday; }a = {"Mary", 'F', 10, 23, 1985}; printf("name: %s\nse
x: %c\nbirthday:%d %d %d\n", http://www.77cn.com.cn, a.sex, a.birthday.month, a.birthday.day, a.birthday.year); return 0; }
Mary2010-6-23
F
birthday 10 23 198510
C语言
结构体变量的引用引用结构体变量需遵守的规则: 引用结构体变量需遵守的规则: ⑴ 不能将一个结构体变量作为一个整体输入输出,只能对结 不能将一个结构体变量作为一个整体输入输出, 构体变量中的各个成员分别进行输入和输出. 构体变量中的各个成员分别进行输入和输出.引用结构体 变量中成员的方式: 变量中成员的方式: 结构体变量名 . 成员名 例如: 例如: printf("name: %s\nsex: %c\nbirthday:%d %d %d\n", a); 错! a.sex='m'; 正确! 正确! a.birthday.year=1988;2010-6-23 11
C语言
⑵ 如果成员本身又属于一个结构体类型,则要用若干个成员 如果成员本身又属于一个结构体类型, 运算符,一级一级地找到最低一级的成员. 运算符,一级一级地找到最低一级的成员.只能对最低级 的成员进行赋值或存取以及运算. 的成员进行赋值或存取以及运算. 例如: 例如: a.birthday.year=1980 a.birthday.day=23 a.birthday.month=10
对结构体变量的成员可以像普通变量一样进行各种运算. ⑶ 对结构体变量的成员可以像普通变量一样进行各种运算.2010-6-23 12
C语言
例如: 例如: student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ++student2.age;
2010-6-23
C语言
课堂练习: 课堂练习: 1.设有以下说明语句: 设有以下说明语句: struct ex { int x; float y; char z; } example; 则下面的叙述中不正确的是( 则下面的叙述中不正确的是( example是结构体类型名 B) example是结构体类型名 C) x, y, z都是结构体成员名 z都是结构体成员名 ex是结构体类型名 D) struct ex是结构体类型名2010-6-23 14
).
struct是结构体类型的关键字 A) struct是结构体类型的关键字
C语言
结构体数组⒈ 结构体数组的定义 数组中的每一个元素都是结构体类型的数据, 数组中的每一个元素都是结构体类型的数据,则称这样 的数组为结构体数组. 的数组为结构体数组. ⒉ 定义结构体数组
2010-6-23
C语言
方法1
struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stu[2]; name sex age score addr
num stu[0] num2010-6-23
name
sex
age
score
addr16
stu[1]
…… 此处隐藏:1723字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




