1 / 16
文档名称:

C语言程序设计_第十一章结构体与公用体.ppt

格式:ppt   页数:16页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言程序设计_第十一章结构体与公用体.ppt

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

C语言程序设计_第十一章结构体与公用体.ppt

文档介绍

文档介绍:高级程序设计语言
吴 凡
TEL: 83202682
E-mail: cdwf@
第十一章结构体与共用体
电子科技大学通信与信息工程学院
引例
有时需要将不同类型的数据组合成一个有机整体
例:一个学生信息:
学号(int num),
姓名(char name[]),
成绩(float score)
结构体:若干数据类型(可以不同)的集合
属于构造类型——需要用户定义结构体类型
电子科技大学通信与信息工程学院
定义结构体类型
格式:
struct 结构体类型名{ 类型说明成员名; 类型说明成员名; ...
}
例:
struct关键字,不能省略
可省略:无名结构体
成员类型可以是基本类型,也可以是构造类型
struct student{
int number;
char name[10];
float score;
}
电子科技大学通信与信息工程学院
定义结构体变量
方法1:先定义结构体类型,再定义结构体变量
一般形式: struct 结构体类型名{ 成员列表 }; struct 结构体类型名变量名;
例:
struct student{
int number;
char name[10];
float score;
};
struct student stu1, stu2;
电子科技大学通信与信息工程学院
定义结构体变量
方法2:定义结构体类型的同时定义结构体变量
一般形式: struct 结构体类型名{ 成员列表 } 变量名列表;
例:
struct student{
int number;
char name[10];
float score;
}stu1, stu2;
电子科技大学通信与信息工程学院
定义结构体变量
方法3:直接定义结构体变量
一般形式: struct { 成员列表 } 变量名列表;
例:
struct{
int number;
char name[10];
float score;
}stu1, stu2;
电子科技大学通信与信息工程学院
定义结构体变量
注意:
结构体变量的成员在连续内存空间中存储
结构体类型与结构体变量的区别:
先定义结构体类型,再定义结构体变量
定义结构体类型时不需要分配空间,定义结构体变量时才分配空间
结构体类型可以嵌套定义:结构体成员类型可以是一个结构类型
结构体成员名与结构体变量可以同名
struct date{
int month;
int day;
int year;
};
struct student{
int number;
char name[10];
float score;
struct date birthday;
}stu1, stu2;
int number
char name[10]
float score
int month
int day
int year
电子科技大学通信与信息工程学院
结构体变量的引用
引用形式:
规则:
对结构体变量的引用(包括赋值、输入、输出、运算等)只能通过结构变量的成员来实现,而不能结构体变量视为一个整体来处理。
例外:具有相同类型的结构变量可以相互赋值
例: = 22; printf("student's name %s\", ); stu1 = stu2;
电子科技大学通信与信息工程学院
结构体变量的引用
规则:
如果是结构体类型是嵌套定义的,需要使用成员员算符(.)逐级引用
例: = 10; = 10; = 1;
结构体变量的成员可以像普通变量一样运算
例:++; += 20;
可以引用结构体变量成员的地址,也可以引用结构体变量的地址
电子科技大学通信与信息工程学院