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