加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在c代码中,以下关键字是什么意思? SIGSELECT,U32,U16,U8

发布时间:2020-12-16 03:40:26 所属栏目:百科 来源:网络整理
导读:我有一个关于c结构中关键字使用的问题. 我看到一个像这样定义的结构: typedef struct { SIGSELECT signo; U32 id; U32 re; U16 id1; U8 id2;}First; 请帮我理解这些关键字:SIGSELECT,U32,U16,U8 解决方法 他们的意思是一个相当深刻的问题,也取决于你所处的
我有一个关于c结构中关键字使用的问题.

我看到一个像这样定义的结构:

typedef struct {
    SIGSELECT signo;
    U32 id;
    U32 re;
    U16 id1;
    U8 id2;
}First;

请帮我理解这些关键字:SIGSELECT,U32,U16,U8

解决方法

他们的意思是一个相当深刻的问题,也取决于你所处的环境.

这些是类型名称,但不是标准C类型,因此它们不是普遍知道的.

猜测是Uxx类型是指定位宽度的“无符号整数”.所以U32将是一个32位无符号整数,在C99中称为uint32_t,但在C中尚未标准化.

SIGSELECT有点困难,但是成员被命名为“signo”,这意味着这是一个信号.如果代码是用于类似POSIX的环境,则很可能SIGSELECT只是默认整数类型int的别名.例如见this page.

某些标题也可以

#define SIGSELECT int

要么

typedef int SIGSELECT;

为了介绍这个新的名字(和类似的其他类型提到).

要弄清楚这些是预处理器符号还是实际的typedef:ed类型别名,通过预处理器运行代码并读取其输出.如果措辞改变(即SIGSELECT变成int或其他类型),则它们是预处理符号,否则它们是typedef:s.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读