C语言教程第8章 结构体.ppt
合集下载
C语言结构体PPT课件
形式三:
struct
{ 类型标识符 成员名; 类型标识符 成员名;
……………. }结构体变量={初始数据};
例 struct { int num; char name[20]; char sex; int age; char addr[30]; }stu1={112,“Wang Lin”,‘M’,19, “200 Beijing Road”};
成员可以是另一个结构体变量
例如:struct date /*声明一个结构体先类型声s明trc一ut个dastter*u/ct date
{int month;
类型,它代表“日期”,
int day;
包括3个成员:month
int year; };
(月)、day(日)、 year()。然后在声明
struct student /*声明一个结构体类型ssttrrucuctt ssttuuddenetn*t/类型时,
{
struct是关键字, 不能省略
类型名 成员名; 类型名 成员名;
…………….
};
“成员表列”也称为“域表”,
成员名命名规则与变量名相同。
注意最后又一个分号
例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };
struct student stu1={112,“Wang Lin”,‘M’,19, “200 Beijing Road”};
形式二:(用的最多)
struct 结构体名 {
类型标识符 成员名; 类型标识符 成员名;
……………. }结构体变量={初始数据};
c语言结构体.ppt
fclhoaart apdridcre[;60]; int score[6]; }i;nt n;
/* /*
成住//**绩址价库是是格存整字是量型符单是数数精整组组度型类类实*/型型型***///
};
2020/4/12
1 结构体
6
结构体变量的定义与初始化
1). 结构体类型变量的定义
struct student
成in员t s名co可re[与6]程; 序中的变量ad名dr相同时,也可6与0个不字节
}同; 结构体类型的成员名相sc同or,e 二者代表不1同2个的字节
对象。
2020/4/12
1 结构体
结构体变量的定义与初始化
结构体类型变量的定义
在定义结构体类型的同时定义变量 struct 结构体名
{ 成员定义表; }变量名表; 例如:
2020/4/12
1 结构体
15
结构体变量的定义与初始化
“.”是分量运
4). 结构体变量成员的引用
算符,运算级
别最高。
结构体变量成员引用的一般形式:
结构体变量名.成员名
struct date { int year, month, day;}; struct student
结构体变量的各个成员可 进行何种运算,由该成员
9.01218
2020/4/12
1 结构体
23
结构体的指针
指向结构体数组的指针
p
main( )
{ struct list *p;
的数据类型决定
{ char num[8], name[20], sex; struct date birthday; float score; }a;
C语言开发基础教程(Dev-C++) 第8章 结构体
Woman
25
Shanghai
✎
8.1.2 结构体变量定义
2、在定义结构体类型的同时定义结构体变量
struct student{ int num; char name[10]; char sex; int age; char address[30];
}stu1,stu2;
✎
8.1.3 结构体变量的大小
✎
8.1.2 结构体变量定义
1、先声明结构体类型,再声明结构体变量 定义了结构体变量stu1与stu2之后,stu1与stu2便占据了内存空间,它 们具有结构体特征。
stuu11: 201403001 Zhang San Man
23
Beijing
ssttuu22: 201403002 Li Yun
✎
8.3 结构体与指针
指针还可以指向结构体,指向结构 体的指针称为结构体指针,它的用 法与一般指针用法没有太大差异。
✎
8.3.1 结构体指针
结构体指针的定义方式与一般指针类似: struct Student Stu = {"Zhang San", 20140100, 'M', 93.5}; struct Student *p = &Stu; 通过结构体指针可以访问结构中的成员变量,其格式如下: 结构体指针名->成员名 p->name; //访问结构体的name成员变量
结构体类型的声明
struct 结构体类型名称 {
数据类型 成员名1; 数据类型 成员名2; … 数据类型 成员名n; };
struct student{ int num; char name[10]; char sex; int age; char address[30];
C语言 第八章 结构体
共用体
3)直接定义联合变量 union {
int i;
float f; }num; 说明:(1)共用体变量的所有成员占有同一段内存,所占内存空 间是其成员中字节数最大的成员占有的字节数。
(2)共用体变量中可以定义许多不同类型的成员,但同一时刻只
有一个成员的数据有效。
共用体
4.共用体变量初始化 初始化时,只能对第一个成员的数据类型初始化。 例:union data num={10}; 正确 union data num={10,25.4}; 错误
结构体变量
方法三:定义结构体类型的同时定义结构体变量,省略结构体类型名
struct DATE{ int year; int month; int day;}; struct {
long int number;
char name[8]; int age;
char *sex;
struct DATE birthday; }stu1,stu2;
数据类型
数据类型
成员名1;
成员名2;
//成员表
……
};
结构体类型
2.结构体类型的定义: 说明: (1) struct是关键字,标识一个结构体类型定义的开头 (2)“结构体类型名”是表示该结构体类型的名称的标识符,可
类比int、char
(3)“成员表”是构成结构体类型的成份,由一个或多个成员构
成,每个成员有自己的成员名。各成员数据类型可以不同,既可以
枚举类型
3.枚举变量定义
方式一:类型和变量分开定义 enum WEEKDAY{Sun,Mon,Tue,Wed,Thu,Fri,Sat};//定义枚举类型 enum WEEKDAY w;//定义枚举变量w
结构体C程序设计课件
结构体变量 结构体是一个构造类型,前面只是定义了结构体,形成了 一个新的数据类型。还需要使用该数据类型来定义变量。 结构体变量有两种声明形式。 第一种声明形式是在定义结构体后,使用结构体类型名声 明。例如
struct PersonInfo
{
int index;
char name[30];
short age;
结构体
结构体的定义 结构体变量 结构体成员及初始化 结构体大小
结构体的定义
结构体的定义如下
struct 结构体类型名 {
成员类型 成员名; …… 成员类型 成员名; };
struct就是定义结构体的关键字,结构体类型名是一种标识 符,该标识符代表一个新的变量,结构体使用花括号将成 员括起来,每个成员都有自己的类型,成员类型可以是常 规的基础类型,也可以是自定义类型,也可以是一个类类 型。
};
PersonInfo pInfo;
结构体成员及初始化
引用结构体成员有两种方式,一种是声明结构体变量后, 通过成员运算符“.”引用,一种是声明结构体指针变量, 使用指向“->”运算符引用。
(1)使用成员运算符“.”引用结构体成员一般形式如下: 结构体变量名.成员名 引用到结构体成员后,就可以分别对结构体成员进行赋值, 对于每个结构体成员就和使用普通变量一样。
(2)在定义结构体同时,可以同时声明结构体指针变量. 如果要引用指针结构体变量的成员,需要使用指向“->” 运算符。一般形式如下:
结构体指针变量->成员名
结构体的嵌套
定义完结构体后就形成一个新的数据类型,C++语言提供在 定义结构体时可以声明其它已定义好的结构体变量,也可 以在定义结构体时定义子结构体。