《C语言》课程教学课件(PPT讲稿)第十一章 结构体与共用体

第十一章结构体与共用体
第十一章 结构体与共用体

第一节结构体数据类型的定义与引用 般形式: struct结构体名 类型说明成员1; 成类型说明成员2 类型说明成员n; 不能省 略
第一节 结构体数据类型的定义与引用 一般形式: struct 结构体名 { 成员列表 } ; 类型说明 成员1; 类型说明 成员2; … … 类型说明 成员n; 不能省 略

例: struct student/*类型名*/ int number;/*学号*/ char name[31];/*姓名*/ short age;/*年龄*/ char sex;/米性别*/ int grade;/*年级*/ char address[10];/*家庭地址*/
例: struct student { int number; char name[31]; short age; char sex; int grade; char address[10]; }; /*学号*/ /*姓名*/ /*年龄*/ /*性别*/ /*年级*/ /*家庭地址*/ /*类型名*/

1.结构体类型变量的定义和引用 student1 student2 方法1先定义结构,再说明结构变量 struct student 0270520102705202 I int number chap l in mary char name [311 20 short age; char sex. M int grade F2 char address[10]; shanghai nanjing struct student student1 student2
1.结构体类型变量的定义和引用 方法1 先定义结构,再说明结构变量 struct student { int number; char name[31]; short age; char sex; int grade; char address[10]; }; struct student student1,student2; 02705201 chaplin 20 M 2 shanghai 02705202 mary 19 F 2 nanjing student1 student2

方法2在定义结构体的同时说明结构变量 struct student struct结构体名 int number 类型说明成员1; char name [311 类型说明成员2; short age; char sex 类型说明成员n; int grade }变量名列表; char address [10] 1 student1, student2
方法2 在定义结构体的同时说明结构变量 struct 结构体名 { 类型说明 成员1; 类型说明 成员2; … … 类型说明 成员n; } 变量名列表; struct student { int number; char name[31]; short age; char sex; int grade; char address[10]; } student1,student2;

方法3直接说明结构变量 struct struct I int number 类型说明成员1; char name 31] 类型说明成员2; short age char sex 类型说明成员n; int grade }变量名列表; char address [10] I student1, student2
方法3 直接说明结构变量 struct { 类型说明 成员1; 类型说明 成员2; … … 类型说明 成员n; } 变量名列表; struct student { int number; char name[31]; short age; char sex; int grade; char address[10]; } student1,student2;

注意: 1)结构体变量可以分为局部变量和全局变量 2)结构体类型的成员可以又是一个构造类型, 机构成了嵌套的结构 如:一个地址可以由邮编和住址组成: struct address int code: char add[10] home number struct student code add [10] int number struct address home
2)结构体类型的成员可以又是一个构造类型, 机构成了嵌套的结构 注意: 如: 一个地址可以由邮编和住址组成: struct address { int code; char add[10]; }; struct student { int number; struct address home; }; number home code add[10] 1)结构体变量可以分为局部变量和全局变量

2.结构体类型数据的引用 规则 1)不能把一个结构体变量进行输入和输出 如: printf(“%d,%s,%,%,%d,%s”, student1) 引用方式:结构体变量名成员名 如: printf(“%d,%s,%d,%c,%d,%s student 1 number student1 name studentI age student 1. sex student grade student1 address)
规则: 1)不能把一个结构体变量进行输入和输出 2.结构体类型数据的引用 如: printf(“%d,%s,%d,%c,%d,%s”,student1); 引用方式:结构体变量名.成员名 如: printf(“%d,%s,%d,%c,%d,%s” , student1.number, student1.name, student1.age, student1.sex student1.grade, student1.address);

规则 2)若成员本身又是一个结构,则必须逐级找到 最低级的成员才能使用 如:前面提到的嵌套结构 student3.home.code即 student3的邮编 student3.home.add即 student3的住址 3)结构体变量成员,与相同类型的普通变量并 无区别,可以像不同变量一样参与各种运算
规则: 2)若成员本身又是一个结构,则必须逐级找到 最低级的成员才能使用 如: 前面提到的嵌套结构 student3.home.code 即student3的邮编 student3.home.add 即student3的住址 3)结构体变量成员,与相同类型的普通变量并 无区别,可以像不同变量一样参与各种运算

例 student1 number=02705201 sum=student1. numbertstudent2 number student age++ strcpy( student3home.add,“ nanJing”);
例: student1.number=02705201; sum=student1.number+student2.number; student1.age++; strcpy(student3.home.add,“nanjing”);
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言》课程教学资源(作业习题)第十一章 作业二级要求1.doc
- 《C语言》课程教学资源(作业习题)第十章(作业2).doc
- 《C语言》课程教学资源(作业习题)第十章(作业1).doc
- 《C语言》课程教学课件(PPT讲稿)第十章 指针.ppt
- 《C语言》课程教学资源(作业习题)第十章(作业2).doc
- 《C语言》课程教学资源(作业习题)第十章(作业1).doc
- 《C语言》课程教学课件(PPT讲稿)第十章 指针.ppt
- 普通高等教育“十一五”国家级规划教材:《建筑CAD》PPT教学课件(共八章)(陕晋军).ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》封面.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第一章 数据库基础知识.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第五章 窗体.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第四章 报表.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第十章 数据库综合应用实例.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第十一章 计算机等级考试指南.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第八章 VBA的设计与应用.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第七章 宏的设计与应用.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第六章 数据访问页.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第九章 数据库的安全.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第二章 建立数据库.ppt
- 21世纪高等院校规划教材:《数据库基础―Access2003 应用教程》第三章 查询.ppt
- 《C语言》课程教学资源(作业习题)第十一章 作业.doc
- 《C语言》课程教学课件(PPT讲稿)第十一章 结构体与共用体.ppt
- 《C语言》课程教学资源(作业习题)SUNNY.doc
- 《C语言》课程教学课件(PPT讲稿)第十二章 文件.ppt
- 《C语言》课程教学课件(PPT讲稿)第一章 C语言概述.ppt
- 《C语言》课程教学课件(PPT讲稿)第二章 基本数据类型和运算.ppt
- 《C语言》课程教学课件(PPT讲稿)第三章 C语言的数据类型、运算符和表达式章.ppt
- 《C语言》课程教学资源(作业习题)第三章 作业.doc
- 《C语言》课程教学课件(PPT讲稿)第四章 最简单的C程序设计.ppt
- 《C语言》课程教学资源(作业习题)第四章 作业.doc
- 《C语言》课程教学课件(PPT讲稿)第五章 逻辑运算和选择结构.ppt
- 《C语言》课程教学资源(作业习题)第五章 作业.doc
- 《C语言》课程教学课件(PPT讲稿)第六章 循环结构程序设计.ppt
- 《C语言》课程教学资源(作业习题)第六章 作业.doc
- 《C语言》课程教学资源(作业习题)answer.doc
- 《C语言》课程教学课件(PPT讲稿)第七章 数组.ppt
- 《C语言》课程教学资源(作业习题)第七章 作业.doc
- 《C语言》课程教学课件(PPT讲稿)第八章 函数.ppt
- 《C语言》课程教学资源(作业习题)第八章 作业.doc
- 《C语言》课程教学课件(PPT讲稿)第九章 编译预处理.ppt