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

前端之家收集整理的这篇文章主要介绍了在c代码中,以下关键字是什么意思? 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.

猜你在找的C&C++相关文章