其他分享
首页 > 其他分享> > C语言第十五天

C语言第十五天

作者:互联网

构造体

结构体和数组一样属于构造类型

数组是用于保存一组相同类型数据的, 而结构体是用于保存一组不同类型数组的

在使用结构体之前必须先定义结构体类型, 因为C语言不知道你的结构体中需要存储哪些类型数据, 我们必须通过定义结构体类型来告诉C语言, 我们的结构体中需要存储哪些类型的数据、

struct 结构体名

{

类型名1 成员名1;

类型名2 成员名2;

……

类型名n 成员名n;

};

定义好结构体类型之后, 我们就可以利用我们定义的结构体类型来定义结构体变量

struct 结构体名 结构体变量名;

一般对结构体变量的操作是以成员为单位进行的,引用的一般形式为:结构体变量名.成员名

结构类型定义在函数内部的作用域与局部变量的作用域是相同的

从定义的那一行开始, 直到遇到return或者大括号结束为止

结构类型定义在函数外部的作用域与全局变量的作用域是相同的

从定义的那一行开始,直到本文件结束为止

结构体数组

结构体数组和普通数组并无太大差异, 只不过是数组中的元素都是结构体而已

struct 结构体类型名称 数组名称[元素个数]

一个指针变量当用来指向一个结构体变量时,称之为结构体指针变量

struct 结构名 *结构指针变量名

通过结构体指针访问结构体成员, 可以通过以下两种方式

(*结构指针变量).成员名

结构指针变量->成员名(用熟)

成员也可以又是一个结构,即构成了嵌套的结构

结构体虽然是构造类型, 但是结构体之间赋值是值拷贝, 而不是地址传递

所以结构体变量作为函数形参时也是值传递, 在函数内修改形参, 不会影响外界实参

共用体

和结构体不同的是, 结构体的每个成员都是占用一块独立的存储空间, 而共用体所有的成员都占用同一块存储空间

和结构体一样, 共用体在使用之前必须先定义共用体类型, 再定义共用体变量

定义共用体类型格式:

union 共用体名{

数据类型 属性名称;

数据类型 属性名称; 

..... };

定义共用体类型变量格式:

union 共用体名 共用体变量名称;

由于所有属性共享同一块内存空间, 所以只要其中一个属性发生了改变, 其它的属性都会受到影响

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

标签:变量,成员,定义,C语言,类型,共用,第十五天,结构
来源: https://blog.csdn.net/m0_60380831/article/details/120611666