当前位置:
文档之家› 《二级C语言程序设计》第9章结构体与共用体
《二级C语言程序设计》第9章结构体与共用体
《二级C语言程序设计》第9章结构 体与共用体
9.1.4 结构体变量的初始化
结构体变量的初始化形式有如下两种:
(1)struct 标识符
{
类型名1 成员名1;
类型名2 成员名2; … 类型名n 成员名n; }变量名={数据表};
例1:struct student { int num;
char name[20]; char sex; int age; char addr[30]; } a={060001, "Li Fang", 'F',18, "Wuhan"};
struct student a,b; ="Li Fang"; 《b二. 级bCi语r言t体h程与d序共a设用y计体.》d第a9章y结=构12;
9.1.3 结构体变量的引用
对结构体变量中的成员都可以像同类型的普通变量一样进 行各种运算。
例3:a. num=060001+5; b. birthday.day++; (2)结构体变量作为一个整体引用.结构体变量不可以作
Zhang Xia F 17 Shanghai
上表中某一学生的数据是由学生的学号、姓名、性别、年龄、家庭地址等数据项组 成的,这些数据项是一组逻辑上相关的数据,如果将这些数据项分割开来孤立地考 虑它们的属性,将导致操作的不便或逻辑错误。在C语言中,将这种由多个不同类 型的数据项组合在一起形成的数《据二级类C型语言,程称序为设结计》构第体9章类结型构。
《二级C语言程序设计》第9章结构 体与共用体
9.1.3 结构体变量的引用
(2)结构体类型名 变量名={数据表}; 例2:struct student { int num;
char name[20]; char sex; int age; char addr[30]; }; struct student a={060001, "Li Fang", 'F',18, "Wuhan"};
(1)引用结构体变量的成员。
格式: 结构体变量名·成员名
struct date { int year; int month; int day; };
struct student {
int num; char name[20]; char sex; struct date birthday; char addr[30]; };
① 先定义date结构体: ② 再定义student结构体:
struct date
struct student
{int year;
{
int month;
int num;
int day;
char name[20];
};
char sex;
struct date birthday;
char addr[30];
第9章 结构体与共用体
9.1 结构体
num 060001 060230 060212 061122 060536
表9-1 学生表
name Sex age
addr
Li Fang F 18 Wuhan
Lin Hong F 16 Changsha
Wu Qiang M 18 Beijing
Li Jun
M 17 Zhengzhou
}; 《二级C语言程序设计》第9章结构
体与共用体
9.1.2 结构体变量的定义
结构体变量的定义有三种处理方式:
(1)先定义结构体类型,再定义结构体变量。
例1:struct student
{
int num;
char name[20];
char sex;
int age;
char addr[30];
};
/*定义结构体类型struct student */
体与共用体
9.1.1 结构体类型的定义
结构体类型定义的一般形式: struct 标识符 {
类型名1 成员名1; 类型名2 成员名2; … 类型名n 成员名n; };
《二级C语言程序设计》第9章结构 体与共用体
9.1.1 结构体类型的定义
例1 对某一学生数据(由学生的学号、姓名、性别、年龄、 家庭地址等数据项组成)的结构体类型定义如下:
《二级C语言程序设计》第9章结构 体与共用体
9.2 结构体数组
9.2.1 结构体数组的定义
结构体数组定义的一般形式:
结构体类型名 数组名[常量表达式];
例1:struct student
{
int num;
为整体进行输入输出,但可以作为函数的参数或返回值 而被整体引用,也可以将一个结构体变量作为一个整体 赋给另一个具有相同类型的结构体变量。 例1:struct student a,b; … a=b;
《二级C语言程序设计》第9章结构 体与共用体
9.1.3 结构体变量的引用
(3)引用结构体变量的地址或成员的地址 struct student a,b; scanf("%d",&a.num); printf("%x",&a.num); printf("%x",&a);
struct student a,b;
/*定义a、b为结构体类型struct student的变量*/
《二级C语言程序设计》第9章结构 体与共用体
9.1.2 结构体变量的定义
(2)在定义结构体类型的同时定义结构体变量。 例2:struct student {
int num; char name[20]; char sex; int age; char addr[30]; } a,b;
《二级C语言程序设计》第9章结构 体与共用体
9.1.2 结构体变量的定义
(3)直接定义结构类型变量。 例3:struct {
int num; char name[20]; char sex; int age; char addr[30]; } a,b;
《二级C语言程序设计》第9章结构 nt {
int num; char name[20]; char sex; int age; char addr[30]; };
《二级C语言程序设计》第9章结构 体与共用体
9.1.1 结构体类型的定义
(5)结构体类型定义的嵌套。
例2:若某一学生数据包括学号、姓名、性别、出生年月、 家庭地址,其中出生年月包括出生的年、月、日三个 数据,则对某一学生数据的结构体类型定义如下: