c语言结构体的应用PPT课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3、直接定义结构类型变量
其一般形式为: struct {成员表列 }变量名表列;
即不出现结构体名。
关于结构体类型,有几点要说明:
1.类型与变量是不同的概念,不要混同。对 结构体变量来说,在定义时一般先定义一个 结构体类型,然后定义变量为该类型。只能 对变量赋值、存取或运算,而不能对一个类 型赋值、存取或运算。 在编译时,对类型是 不分配空间的,只对变量分配空间。
类型标识符 成员名
3、成员名定名规则与变量名同.
11.2 定义结构体类型变量的方法
要定义一个结构体类型的变量,可以采取以下三种 方法。 1、先定义结构体类型再定义变量名
struct student 可以用它来定义变量。 如 struct student student1,student2;
定义student1和student2为struct student类型变量,即
例如: 已定义:student1和student2为结构体变量并且 它们已有值。不能这样引用: printf(”%d,%s,%c,%d,%f,%s\n,”,student1); 只能对结构体变量中的各个成员分别输出。 引用方式为:结构体变量名.成员名
student1.num
可以对变量的成员赋值,例如: student.num=10010; 赋值语句的作用是将整数10010赋给student1变量中的成员
student1.birthday.year
注意:不能用student1.birthday 来访问 student1变量中的成员birthday,因为birthday 本身是一个结构体变量。
3.对成员变量可以像普通变量一样进行各种运 算(根据其类型决定可以进行的运算)。
例如: student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ++student1.age;
struct student的结构见图所示。 定义的类型struct date与其它类型(如 int ,char)一样可以用来定义成员的类型
birthday num name sex age month day year addr
11.3 结构体类型变量的引用
在定义了结构体变量以后,当然可以引用这个变量。 应遵守以下规则: 1·不能将一个结构体变量作为一个整体进行输入和输出。
10010 LiFun M 18 87.5 Beijing
例如
struct是关键 字,不能省略, 表示这是一个 “结构体类 型”。
结构体
struct student

{int num;
char name[20];
char sex;
int age;
成员表 列
float score; char addr[30]; };
1、定义了一个结构体类型struct student
struct是关键字,不能省略,表示这是一个 “结构体类型”。
成员表列:它包来自百度文库num,name,age,score,addr等不同类
型的数据项。
2、定义一个结构体类型的一般形式为:
struct 结构体名
{成员表列};
花括弧内是该结构体中的各个成员(或称分 量),由它们组成一个结构体。对各成员都应 进行类型说明,即
第11章 结构体与共用体
11.1 概述 迄今为止,已介绍了基本类型(或
称简单类型)的变量(如整型、实型、 字符型变量等),
也介绍了一种构造类型数据——数 组,数组中的各元素是属于同一个类型 的。
有时需要将不同类型的数据组合成一个 整体,以便于引用。
如,一个学生的学号、姓名、性别、年 龄、成绩、家庭地址等项。这些项都与
这样在程序中,
STUDENT与struct student完全等效。
STUDENT {int num;
char name[20]; char sex;int age; float score; char addr[30]; };
STUDENT student1,student2;
2、在定义类型的同时定义变量
它们具有struct student类型的结构。。 student1 10001 ZhangXin M 19 90 Shanghai student2 10002 WangLI F 20 98 Beijing
通常用一个符号常量代表一个结构体类型。在 程序开头,用
#define STUDENT struct student
2.对结构体中的成员 ,可以单独使用,它 的作用与地位相当于普通变量。
3.成员也可以是一个结构体变量。 如: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]; }student1,student2;
某一学生相联系 。 如果分别定义为互相独立的简单变量,
是难以反映它们之间的内在联系的。 应当把它们组织成一个组合项,在一
个组合项中包含若干个类型不同(当然 也可以相同)的数据项。
C语言提供了这样一种数据结构,它称为结构体 (structure)。它相当于其它高级语言中的 “记录”。
num name sex age score addr
num。
2·如果成员本身又属一个结构体类型,则要用若 干个成员运算符,一级一级地找到最低的一级的 成员.
例如,对上面定义的结构体变量student1,可以这 样访问各成员:
student1.num
student1.name
student1.birthday.month
student1.birthday.day
例如: struct student
{int num; char name[20]; char sex; int age; float score; char addr[30];
} student1,student2; 这种形式的定义的一般形式为:
struct 结构体名 { 成员表列 } 变量名表列;
相关文档
最新文档