首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于C语言中的结构化内存管理

关于C语言中的结构化内存管理
EN

Stack Overflow用户
提问于 2018-01-31 10:38:42
回答 1查看 64关注 0票数 1
代码语言:javascript
运行
复制
typedef struct{
 int a:1, b:1;
}test;

ab能够存储最多255个数字。如果变量a存储的值大于此值,这将影响b的值,对吗?我的记忆管理能力很差。此外,是否建议以这种方式更改结构中字段的大小?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-31 10:41:55

C中的大多数变量都有一个大小,即字节的整数。位字段是结构的一部分,它不一定占用字节的整数;它们可以占用任意数量的位。多个位字段可以打包到一个存储单元中.在这里,这些是1位比特的比特能够容纳0-1

如果有更多的数字存储在1位位字段中,那么这将是未定义的行为(签名溢出)。

在本例中,更显着地在位字段中使用unsigned类型

代码语言:javascript
运行
复制
typedef struct{
 unsigned int a:1, b:1;
}test;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48540081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档