c语言中位段的声明和结构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中位段的声明和结构相关的知识,希望对你有一定的参考价值。

位段 (bit field)也叫位域

位段的声明和结构类似,但是它的成员是一个或多个位的字段,这些不同长度的字段实际上存储于一个或多个整形变量中。

位段的声明和任何普通成员声明相同,有两个例外:

1.位段成员必须声明为int signed int(有符号整型),unsigned int(无符号整型)

2.成员名后面是一个冒号和一个整数,这个整数指定该位段所占用位的数目。

Eg

#include<stdio.h>                            
#include<stdlib.h>
 
struct s
{
int i : 2;   //占2位
int j : 5;   //占5位
int k : 30;  //占30位
};
 
int main()
{
printf("%d\n", sizeof(struct s));
getchar();
return 0;
}


运行结果:

8

技术分享

本文出自 “10910765” 博客,请务必保留此出处http://10920765.blog.51cto.com/10910765/1747709

以上是关于c语言中位段的声明和结构的主要内容,如果未能解决你的问题,请参考以下文章

C语言之自定义类型

梦开始的地方 —— C语言(枚举+位段+联合体)

C语言进阶学习笔记四自定义类型(结构体+位段)

C语言之自定义类型

C语言 段位

C语言啥是位段,位段的定义求答案