结构体共用体

结构体类型:用来描述复杂数据的一种数据类型

构造类型:用户自定义数据类型

语法:

//形式1

struct 结构体名

{

        成员列表;

};

eg:

struct student

{

        char name[30];

        int sno;

}//表示定义出一个数据类型,可以进行定义变量,定义指针变量,定义数组等操作。

注意:

1.结构体类型的使用过程

a.先定义出类型

b.再定义变量

2.定义变量

struct 结构体名 变量名;

 

结构体初始化:

根据各个成员的类型,按顺序依次初始化

 

结构体变量的引用:一般是引用到具体的成员数据

结构体变量的使用:变量名.成员名

                                .为成员运算符//表示 的

 

结构体定义类型的同时定义变量:

//形式2

struct stu

{

}s;

//形式3

struct stu

{

}s;

 

结构体的大小:

每个数据类型与自然边界对齐

//32位平台

超过4字节,按照4字节对齐

不超过,按照最大的字节对齐

//64位平台

超过4字节,按照最大字节对齐

整个结构体按照最大字节对齐

 

同类型的结构体变量之间,可以相互赋值

struct student s1;

struct student s2;

s2 = s1;

 

 

共用体:

union

语法:
union 共用体名

{

成员变量;

};

eg:

union demo

{

        int a;

        short b;

        char c;

};

注意:

1.共用体初始化时,默认第一个值赋给共用体

2.共用体里面赋值,默认最后一个为值赋给共用体,但是还看要最后一个值能影响几个字节

3.实参给到形参,有可能要符号位拓展

 

 

对比结构体:

1.结构体中各个成员拥有自己独立空间

2.共用体中,成员共用一块空间

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值