u32等类型是在哪个头文件中定义?

zifehng 2014-09-29 10:46:34
u32等类型是在哪个头文件中定义?,顺便再请大家看一个结构体的定义,帮忙分析分析
struct fw_data
{
u32 offset : 8;
u32 : 0;
u32 val;
};

这个结构体重的第二项有什么用意?
...全文
1967 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
常书 2014-09-29
  • 打赏
  • 举报
回复
补充下,

struct fw_data
{
    short offset:8;
};
占两个字节

struct fw_data
{
    short offset:8;
    int:0;
};
变成占4个字节
struct fw_data
{
    short offset;
    int:0;
};
还是两个字节 综上,int:0的作用是在当前一个结构体成员只使用几位的时候,int:0会将这个成员所占空间填为int所占的4个字节,然后 下一个成员在4个字节后开始计算
常书 2014-09-29
  • 打赏
  • 举报
回复

struct fw_data
{
    u32 offset : 8;
    u32 : 0;
    u32 val;
};
占8个字节

struct fw_data
{
    int offset : 8;
    int c:8;
    int : 0;
    int val;
};
还是占8个字节

struct fw_data
{
    int offset : 8;
    int : 0;
    int c:8;
    int val;
};
占了12个字节 综上, int:0将前一个int的剩余位数占用 U32的话还可以在当前文件自己再定义一个U32,编译冲突时会告诉原来你在哪定义的
赵4老师 2014-09-29
  • 打赏
  • 举报
回复
从下一个字节或int开始新的位域?
赵4老师 2014-09-29
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
zifehng 2014-09-29
  • 打赏
  • 举报
回复
自顶一个~~

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧