UINTN_C宏
概要:
#define UINTN_C(value) value
描述:
该宏是函数式宏,扩展为对应的uint_leastN_t类型整数常量表达式,例如:如果uint_least64_t是整数类型unsigned long long int的类型名,UINT64_C(0x123)可能会扩展为整数常量0x123ULL。
该宏的实参应是无后缀的整数常量,其值不超过相应类型的表示范围;实参的值也是整个表达式的值。
具体实现中,该宏应替换为适合在#if预处理指令中使用的常量表达式,并且该表达式应具有与相应类型(整数提升后)相同的类型。
参数:
value
整数类型值。
返回值:
该宏返回参数value的值。
范例:
|
|
输出:
UINT8_C(125) = 125
UINT16_C(125) = 125
UINT32_C(125) = 125
UINT64_C(125) = 125
在GCC编译器<stdint.h>头文件中宏UINTN_C定义如下:
#define UINT8_C(val) val
#define UINT16_C(val) val
#define UINT32_C(val) val##U
#define UINT64_C(val) val##ULL
根据这个定义,上述4个宏分别扩展为常量表达式125、125、125U、125ULL。
相关内容:
INTN_C | 表示扩展为int_leastN_t类型常量表达式的宏。 |