首页 理论教育 Linux系统编程:结构体与共用体的应用

Linux系统编程:结构体与共用体的应用

时间:2023-11-16 理论教育 版权反馈
【摘要】:例4.5指向结构体变量的指针的应用。运行结果:No.:891013.共用体类型数据的定义及引用1)共用体的概念使几个不同的变量共占同一段内存的结构称为“共用体”类型的结构。

Linux系统编程:结构体与共用体的应用

1.结构体类型数据的定义、初始化及引用

1)描述客观世界事物——结构体类型数据的定义

例4.3 定义学生结构体。

2)结构体变量及成员的引用

先声明结构体类型再定义变量名,在声明类型的同时定义变量:

}变量名表列;

引用结构体变量中成员的方式为:

结构体变量名.成员名

如果成员本身又属一个结构体类型,则要用更多的成员运算符一级一级地定位到基本类型成员。使用结构体时只能对基本类型的成员进行各种运算,相同结构体变量可以整体赋值

3)成员的地址和变量的地址

&结构体变量名.成员名

&结构体变量名

例4.4 对结构体变量初始化。

4)结构体数组

结构体数组定义如下:

2.指针和结构体的应用

指向结构体类型数据的指针对成员变量的引用为:

(*p).成员名

p->成员名

其中,->称为指向运算符。

例4.5 指向结构体变量的指针的应用。

运行结果:

No.:89101

3.共用体类型数据的定义及引用

1)共用体的概念

使几个不同的变量共占同一段内存的结构称为“共用体”类型的结构。

定义共用体类型变量的一般形式为:

union 共用体名

{ 成员表列

} 变量表列;

2)引用方式

不能引用共用体变量,只能引用共用体变量中的成员,采用“变量.成员”的引用方法。(www.xing528.com)

4.枚举类型数据的定义及使用

生活中有一些像星期、月份、颜色等事物,它们往往只有几个数值,而且常常有专用的英文缩写来表示。C语言用枚举类型来定义这类数据。

用枚举类型定义一个变量后,给这个变量赋值时就只能使用这几个文字数值之中的一个了。也可以说,用文字表示有限的几个数值的类型就是枚举类型。枚举类型不是系统提供的,而是由编程人员自己定义的。

另外,像逻辑运算的真、假值,人的性别的男、女值等都可以用枚举类型来描述定义。

申明枚举类型用enum,如:

enum weekday{sun,mon,tue,wed,thu,fri,sat};

枚举常量:sun,mon,tue,wed,thu,fri,sat

枚举常量按定义时的顺序使它们的值为0,1,2…

定义枚举变量:

enum weekday workday,week-day;

enum{sun,mon,tue,wed,thu,fri,sat}workday;

变量值只能是sun到sat之一。

5.用typedef定义类型

(1)声明INTEGER为整型

typedef int INTEGER

(2)声明结构类型:

typedef struct{

int month;

int day;

int year;}DATE;

(3)声明字符指针类型:

typedef char *STRING;

(4)定义数组类型:

① 先按定义数组变量形式书写:

int n[100];

② 将变量名n换成自己指定的类型名:

int NUM[100];

③ 在前面加上typedef,得到:

typedef int NUM[100];

④ 用来定义变量:NUM n;

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈