uintmax_t
読み:ユーイント-マックス-アンダースコア-ティー
外語:uintmax_t
ISO/IEC 9899:1999(C99)から追加された変数型の一つであり整数型の一つで、最大幅を持つ符号なしの整数を宣言する。
書式
次のどちらでも型は定義されるが、関連する関数を定義するためには上のincludeが必要である。
#include <inttypes.h>
#include <stdint.h>
定義
FreeBSD
stdint.hか、inttypes.hから呼ばれるsys/stdint.hで定義される。
typedef __uintmax_t uintmax_t;
machine/_types.h
typedef unsigned long long __uint64_t;
typedef __uint64_t __uintmax_t;
FreeBSDでは、間接的にlong longで定義される。
また、stdint.hからincludeされているmachine/_stdint.hで、次のような定義がある。
#define UINT64_MAX 0xffffffffffffffffULL
#define UINTMAX_MAX UINT64_MAX
特徴
FreeBSDでは、inttypes.hで、次のような関数が定義される。
uintmax_t strtoumax(const char * __restrict, char ** __restrict, int);
uintmax_t wcstoumax(const __wchar_t * __restrict, __wchar_t ** __restrict, int);
それぞれ、従来の標準ライブラリ関数と同様の機能をもつが、uintmax_t型を使うように仕様が変えられたものである。
再検索