struct
结构体是由基本数据类型构成、并用一个标识符来命名的各种变量的组合
格式
struct
结构名 {
类型 变量名;
类型 变量名;
……
}结构变量;
结构名是结构的标识符
结构 typedef
给结构体起别名
结构数组
结构数组本质是一个数组
结构数组是具有同样结构类型的变量集合
结构体成员的訪问是以数组元素为结构变量
结构数组元素.成员名
结构指针
结构指针是指向结构的一个指针,即结构中第一个成员的首地址
使用结构指针,首先应对结构指针初始化
嵌套结构
嵌套结构是指在一个结构成员中能够包含其他一个结构
位字段
位字段是一种特殊的结构,按位訪问一个字节或字的多个位
位字段比按位运算符更加方便
定义形式
struct 位结构名{
数据类型 变量名:整型常数;
数据类型 变量名:整型常数;
数据类型 变量名:整型常数;
…..
}位结构变量;
数据类型必须是int(unsigned 或signed)
整型常数必须是非负整数,表示二进制位的个数
变量名是可选项,能够不命名,这样规定为了排列须要
位段的最大取值范围不要超出二进制位数定的范围,否则超出部分会丢弃.
tips
一个位段必须存储在同一存储单元(即字)之中,不能跨两个单元.若其单元空间不够,则剩余空间不用,从下一个单元起存放该位段.
能够通过定义长度为0的位段的方式使下一位段从下一存储单元開始.
位段的长度不能大于存储单元的长度.
位段无地址,不能对位段进行取地址运算.
位段能够以%d、%o、%x格式输出.
位段若出如今表达式中,将被系统自己主动转换成整数.
越位
所申明的总位数超过一个unsigned int大小
不同意一个字段跨越两个unsigned int之间的边界
使用未命名的字段宽度填充未命名的洞
使用宽度为0的未命名字段迫使下一个字段与下一个整数对齐
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118449.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...