据我所知,t在uint32_t中表示type名称,但我想知道UINT32_C中的C是什么,区别是什么?
发布于 2017-08-02 07:06:25
UINT32_C
是一个宏,用于编写类型为uint_least32_t
的常量。这样的常量适用于初始化uint32_t
变量。例如,我在avr-libc中找到了以下定义(这是针对AVR目标的定义,就像一个例子一样):
#define UINT32_C(value) __CONCAT(value, UL)
所以,当你写
UINT32_C(25)
它被扩展到
25UL
UL
是unsigned long
整数常量的后缀。宏很有用,因为uint32_t
没有标准的后缀,所以您可以在不知道目标上uint32_t
是typedef
(例如unsigned long
)的情况下使用它。对于其他目标,它将以不同的方式定义。
https://stackoverflow.com/questions/45453583
复制相似问题