当前位置: C语言 -- 标准库 -- <stdint.h> -- UINTMAX_C

UINTMAX_C宏


概要:

#define UINTMAX_C(valuevalue


描述:

该宏是函数式宏,扩展为uintmax_t类型整数常量表达式。

该宏的实参应是无后缀的整数常量,其值不超过uintmax_t类型的表示范围;实参的值也是整个表达式的值。

具体实现中,该宏应替换为适合在#if预处理指令中使用的常量表达式,并且该表达式应具有与uintmax_t类型相同的类型。


参数:
value

整数类型值。


返回值:

该宏返回参数value的值。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
/*宏UINTMAX_C范例*/

#include <stdint.h>
#include <stdio.h>

int main(void)
{
    printf("UINTMAX_C(125) = %ju\n", UINTMAX_C(125));

    return 0;
}


输出:

UINTMAX_C(125) = 125

GCC编译器<stdint.h>头文件中宏UINTMAX_C定义如下:

#define UINTMAX_C(val) UINT64_C(val)

#define UINT64_C(val) val##ULL

根据以上定义,上述宏会扩展为常量表达式125ULL


相关内容:
INTMAX_C 表示扩展为intmax_t类型整数常量表达式的宏。