当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

西安石油大学计算机学院:《程序设计语言C Programming Language C》教学资源(PPT课件)第11章 结构体和共用体

资源类别:文库,文档格式:PPT,文档页数:31,文件大小:125KB,团购合买
1. 概述 2. 定义结构体类型变量的方法 3. 结构体变量的引用 4. 结构体变量的引用和初始化 5. 结构体数组 6. 指向结构体类型数据的指针 7. 用指针处理链表 8. 共用体 9. 枚举类型 10.用typedef定义类型
点击下载完整版文档(PPT)

第11章 结构体和共用体

第11章结构体和共用体 本章内容 概述 2.定义结构体类型变量的方法 3.结构体变量的引用 4.结构体变量的引用和初始化 5.结构体数组 6.指向结构体类型数据的指钍 7.用指针处理链表 8.共用体 9.枚举类型 10.用 typedef定义类型

-2- 第11章 结构体和共用体 本 章 内 容 1. 概述 2. 定义结构体类型变量的方法 3. 结构体变量的引用 4. 结构体变量的引用和初始化 5. 结构体数组 6. 指向结构体类型数据的指针 7. 用指针处理链表 8. 共用体 9. 枚举类型 10.用typedef定义类型

第11章结构体和共用体 11.1概述 定义 令个组合项中包含若干个类型不同(或相同)的数据项,这样的数据 例如: num name sex age addr struct student int num char name [20] char sex int age char addr [30] 声明结构体类型的一般形式 struct结构体名 [成员表列 成员表列”称为"域表"。 冷每个成员称为结构体中的一个域,对各成员(域)的定义形式如下: 类型名成员名;

-3- 第11章 结构体和共用体 11.1 概述 定义 v 一个组合项中包含若干个类型不同(或相同)的数据项,这样的数据 结构称为结构体。 例如: num name sex age addr struct student { int num; char name[20]; char sex; int age; char addr[30]; }; 声明结构体类型的一般形式 struct 结构体名 {成员表列}; v "成员表列"称为"域表" 。 v 每个成员称为结构体中的一个域,对各成员(域)的定义形式如下: 类型名 成员名;

第11章结构体和共用体 11.2定义结构体类型变量的方法 三种方法: ◆先声明结构体类型,再定义变量名。 ◆在定义类型的同时定义变量。 ☆直接定义结构类型变量。 ◆方法一:假设有如下定义: struct student int num: char name [20] char sex: int age; float score; char addr [30] struct student stud1, stud2;

-4- 第11章 结构体和共用体 11.2 定义结构体类型变量的方法 三种方法: v 先声明结构体类型,再定义变量名。 v 在定义类型的同时定义变量。 v 直接定义结构类型变量。 v 方法一:假设有如下定义: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stud1, stud2;

第11章结构体和共用体 11.2定义结构体类型变量的方法 ◆方法二 struct结构体名 成员表列 }变量名表列; ◆方法三 struct 成员表列 }变量名表列; 对结构体类型的几点说明 类型与变量是不同的概念。在编译时,对类型是不分配空间的, 只对变量分配空间。 令结构体中的成员可以单独引用。 ◆成员也可以是一个结构体变量。(P283) 令成员名可以与程序中的变量名相同

-5- 第11章 结构体和共用体 11.2 定义结构体类型变量的方法 v 方法二: struct 结构体名 { 成员表列 }变量名表列; v 方法三: struct { 成员表列 } 变量名表列; 对结构体类型的几点说明 v 类型与变量是不同的概念。在编译时,对类型是不分配空间的, 只对变量分配空间。 v 结构体中的成员可以单独引用。 v 成员也可以是一个结构体变量。(P283) v 成员名可以与程序中的变量名相同

第11章结构体和共用体 11.3结构体变量的引用 四项原则 ☆不能整体输入输出,只能对各个成员分别引用。 结构体变量名.成员名(成员运算符”.") ◆如果成员本身又属于一个结构体类型,则用多个成员运算符, 级一级地找到最低一级的成员,只能对最低一级的成员进行赋值、 存取及运算。 例如: struct date struct student int month char name [20] int day: char sex. int year int age; struct date birthday stul, stu2. stul birthday. month 1

-6- 第11章 结构体和共用体 11.3 结构体变量的引用 四项原则 v 不能整体输入输出,只能对各个成员分别引用。 结构体变量名.成员名 (成员运算符".") v 如果成员本身又属于一个结构体类型,则用多个成员运算符,一 级一级地找到最低一级的成员,只能对最低一级的成员进行赋值、 存取及运算。 例如: struct date { int month; int day; int year; }; struct student { char name[20]; char sex; int age; struct date birthday; }; stu1, stu2; stu1.birthday.month = 1;

第11章结构体和共用体 11.3结构体变量的引用 ◆对成员变量可以像普通变量一样进行各种运算。 例如: stul, num + 可以引用成员的地址,也可以应用结构体变量的地址。 例如: scanf("%d",&stul num) pr intf("‰o",&stu1); 但不能用以下语句整体读入结构体变量, 例如: scanf(“%s,‰c,%d,”,&stu1);//错误

-7- 第11章 结构体和共用体 11.3 结构体变量的引用 v 对成员变量可以像普通变量一样进行各种运算。 例如: stu1.num ++; v 可以引用成员的地址,也可以应用结构体变量的地址。 例如: scanf("%d", &stu1.num); printf("%o ", &stu1); 但不能用以下语句整体读入结构体变量, 例如: scanf(“%s, %c, %d, ”, &stu1); //错误

第11章结构体和共用体 11.4结构体变量的初始化 结构体变量和其它类型变量一样,可以在定义时指定初始值。 例11.1:对结构体变量的初始化。 i inc ude void main struct student char name [20] char sex Int age; }a={" Li Lin","M',23}; pr intf("name:%s\nsex:‰cⅦnage:%Ⅷn",a.name,a.sex,a.gae);

-8- 第11章 结构体和共用体 11.4 结构体变量的初始化 结构体变量和其它类型变量一样,可以在定义时指定初始值。 例11.1:对结构体变量的初始化。 #include void main() { struct student { char name[20]; char sex; int age; } a = {"Li Lin ", 'M', 23}; printf(" name: %s\n sex:%c\n age:%d\n ",a.name, a.sex, a.gae); }

第11章结构体和共用体 11.5结构体数组 定义结构体数组 只要说明该结构体变量为数组类型,则每个数组元素都是一个结构体 类型数据。 例如 struct student char name [20] char sex int age stu[3]*/ struct student stu[3]

-9- 第11章 结构体和共用体 11.5 结构体数组 定义结构体数组 只要说明该结构体变量为数组类型,则每个数组元素都是一个结构体 类型数据。 例如: struct student { char name[20]; char sex; int age; }; /* stu[3] */ struct student stu[3];

第11章结构体和共用体 11.5结构体数组 结构体数组的初始化 ☆一般形式: 在定义数组的后面加上:={初值表列; struct student char name [20] char sex: int age; }stu[3]=[{" Li Lin","M',23}, [Wang nan",F, 21] [" Liu li","F',22} ◆定义数组时,元素个数可以不指定,编译时系统会根据给出初值 的结构体常量的个数来确定数组元素的个数。 10

-10- 第11章 结构体和共用体 11.5 结构体数组 结构体数组的初始化 v 一般形式: 在定义数组的后面加上: ={初值表列}; v 定义数组时,元素个数可以不指定,编译时系统会根据给出初值 的结构体常量的个数来确定数组元素的个数。 struct student { char name[20]; char sex; int age; } stu[3] = {{"Li Lin ", 'M', 23}, {"Wang nan ", 'F', 21}, {"Liu Li", 'F', 22} };

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共31页,可试读12页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有