Standard types

The Microsoft run-time library defines the following standard types and typedefs.

Fixed-width integral types (stdint.h)

Name Equivalent built-in type
int8_t, uint8_t signed char, unsigned char
int16_t, uint16_t short, unsigned short
int32_t, uint32_t int, unsigned int
int64_t, uint64_t long long, unsigned long long
int_least8_t, uint_least8_t signed char, unsigned char
int_least16_t, uint_least16_t short, unsigned short
int_least32_t, uint_least32_t int, unsigned int
int_least64_t, uint_least64_t long long, unsigned long long
int_fast8_t, uint_fast8_t signed char, unsigned char
int_fast16_t, uint_fast16_t int, unsigned int
int_fast32_t, uint_fast32_t int, unsigned int
int_fast64_t, uint_fast64_t long long, unsigned long long
intmax_t, uintmax_t long long, unsigned long long
Type Description Declared in
clock_t (long) Stores time values; used by clock. TIME.H
_complex structure Stores real and imaginary parts of complex numbers; used by _cabs. MATH.H
_CRT_ALLOC_HOOK A type definition for the user-defined hook function. Used in _CrtSetAllocHook. CRTDBG.H
_CRT_DUMP_CLIENT,

_CRT_DUMP_CLIENT_M
A type definition for a call-back function that will get called in _CrtMemDumpAllObjectsSince. CRTDBG.H
_CrtMemState structure Provides information about the current state of the C run-time debug heap. CRTDBG.H
_CRT_REPORT_HOOK,

_CRT_REPORT_HOOKW,

_CRT_REPORT_HOOKW_M
A type definition for a call-back function that will get called in _CrtDbgReport.

The parameters for this function are: report type, output message and the return value from the call-back function.
CRTDBG.H
dev_t, _dev_t short or unsigned integer Represents device handles. SYS\TYPES.H
_diskfree_t structure Contains information about a disk drive. Used by _getdiskfree. DOS.H and DIRECT.H
div_t, ldiv_t and lldiv_t structures Store values returned by div, ldiv, and lldiv, respectively. STDLIB.H
errno_t integer Used for a function return type or parameter that deals with the error codes of errno. STDDEF.H,

CRTDEFS.H
_exception structure Stores error information for _matherr. MATH.H
_EXCEPTION_POINTERS Contains an exception record. For more information, see EXCEPTION_POINTERS. FPIEEE.H
FILE structure Stores information about current state of stream; used in all stream I/O operations. STDIO.H
_finddata_t, _wfinddata_t, _finddata32_t, _wfinddata32_t, _finddatai64_t, _wfinddatai64_t, __finddata64_t, _wfinddata64_t, __finddata32i64_t, __wfinddata32i64_t, __finddata64i32_t, __wfinddata64i32_t structures Store file-attribute information returned by _findfirst, _wfindfirst, and related functions and _findnext, _wfindnext and related functions. See Filename search functions for information on structure members. IO.H, WCHAR.H
_FPIEEE_RECORD structure Contains information pertaining to IEEE floating-point exception; passed to user-defined trap handler by _fpieee_flt. FPIEEE.H
fpos_t (long integer, __int64, or structure, depending on the target platform) Used by fgetpos and fsetpos to record information for uniquely specifying every position within a file. STDIO.H
_fsize_t (unsigned long integer) Used to represent the size of a file. IO.H,

WCHAR.H
_HEAPINFO structure Contains information about next heap entry for _heapwalk. MALLOC.H
_HFILE (void *) An operating system file handle. CRTDBG.H
imaxdiv_t The type of value that's returned by the imaxdiv function, containing both the quotient and the remainder. inttypes.h
ino_t, _ino_t (unsigned short) For returning status information. WCHAR.H
intmax_t A signed integer type capable of representing any value of any signed integer type. stdint.h
intptr_t (long integer or __int64, depending on the target platform) Stores a pointer (or HANDLE) on both Win32 and Win64 platforms. STDDEF.H and other include files
jmp_buf array Used by setjmp and longjmp to save and restore program environment. SETJMP.H
lconv structure Contains formatting rules for numeric values in different countries/regions. Used by localeconv. LOCALE.H
_LDOUBLE,

_LONGDOUBLE,

_LDBL12 (long double or an unsigned char array)
Use to represent a long double value. STDLIB.H
_locale_t structure Stores current locale values; used in all locale specific C run-time libraries. CRTDEFS.H
mbstate_t Tracks the state of a multibyte character conversion. WCHAR.H
off_t, _off_t long integer Represents file-offset value. WCHAR.H, SYS\TYPES.H
_onexit_t,

_onexit_m_t pointer
Returned by _onexit, _onexit_m. STDLIB.H
_PNH pointer to function Type of argument to _set_new_handler. NEW.H
ptrdiff_t (long integer or __int64, depending on the target platform) Result of subtraction of two pointers. CRTDEFS.H
_purecall_handler,

_purecall_handler_m
A type definition for a call-back function that is called when a pure virtual function is called. Used by _get_purecall_handler, _set_purecall_handler. A _purecall_handler function should have a void return type. STDLIB.H
_RTC_error_fn type definition A type definition for a function that will handle run-time error checks. Used in _RTC_SetErrorFunc. RTCAPI.H
_RTC_error_fnW type definition A type definition for a function that will handle run-time error checks. Used in _RTC_SetErrorFuncW. RTCAPI.H
_RTC_ErrorNumber enumeration Defines error conditions for _RTC_GetErrDesc and _RTC_SetErrorType. RTCAPI.H
_se_translator_function A type definition for a call-back function that translates an exception. The first parameter is the exception code and the second parameter is the exception record. Used by _set_se_translator. EH.H
sig_atomic_t integer Type of object that can be modified as atomic entity, even in presence of asynchronous interrupts; used with signal. SIGNAL.H
size_t (unsigned __int64 or unsigned integer, depending on the target platform) Result of sizeof operator. CRTDEFS.H and other include files
_stat structure Contains file-status information returned by _stat and _fstat. SYS\STAT.H
__stat64 structure Contains file-status information returned by _fstat64 and _stat64, and _wstat64. SYS\STAT.H
_stati64 structure Contains file-status information returned by _fstati64, _stati64, and _wstati64. SYS\STAT.H
terminate_function type definition A type definition for a call-back function that is called when terminate is called. Used by set_terminate. EH.H
time_t (__int64 or long integer) Represents time values in mktime, time, ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64, ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s, ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64 and gmtime, _gmtime32, _gmtime64. The number of seconds since January 1, 1970, 0:00 UTC. If _USE_32BIT_TIME_T is defined, time_t is a long integer. If not defined, it's a 64-bit integer. TIME.H,

SYS\STAT.H,

SYS\TIMEB.H
__time32_t (long integer) Represents time values in mktime, _mktime32, _mktime64, ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64, ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s, gmtime, _gmtime32, _gmtime64 and localtime, _localtime32, _localtime64. CRTDEFS.H, SYS\STAT.H,

SYS\TIMEB.H
__time64_t (__int64) Represents time values in mktime, _mktime32, _mktime64, _ctime64, _wctime64, ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s, _gmtime64, _localtime64 and _time64. TIME.H,

SYS\STAT.H,

SYS\TIMEB.H
_timeb structure The _ftime and _ftime_s, _ftime32_s, _ftime64_s functions use it to store current system time. SYS\TIMEB.H
__timeb32 structure The _ftime, _ftime32, _ftime64 and _ftime_s, _ftime32_s, _ftime64_s functions use it to store current system time. SYS\TIMEB.H
__timeb64 structure The _ftime64 and _ftime_s, _ftime32_s, _ftime64_s functions use it to store current system time. SYS\TIMEB.H
tm structure The asctime, _wasctime, asctime_s, _wasctime_s, gmtime, _gmtime32, _gmtime64, gmtime_s, _gmtime32_s, _gmtime64_s, localtime, _localtime32, _localtime64, localtime_s, _localtime32_s, _localtime64_s, mktime, _mktime32, _mktime64 and strftime, wcsftime, _strftime_l, _wcsftime_l functions use it to store and retrieve time information. TIME.H
uintmax_t An unsigned integer type capable of representing any value of any unsigned integer type. stdint.h
uintptr_t (long integer or __int64, depending on the target platform) An unsigned integer or unsigned __int64 version of intptr_t. STDDEF.H and other include files
unexpected_function A type definition for a call-back function that is called when unexpected is called. Used by set_unexpected. EH.H
_utimbuf structure Stores file access and modification times used by _utime, _wutime and _futime, _futime32, _futime64 to change file-modification dates. SYS\UTIME.H
_utimbuf32 structure Stores file access and modification times used by _utime, _utime32, _utime64, _wutime, _wutime32, _wutime64 and _futime, _futime32, _futime64 to change file-modification dates. SYS\UTIME.H
__utimbuf64 structure The _utime64, _wutime64 and _futime64 functions use it to store the current time. SYS\UTIME.H
va_list structure Used to hold information needed by va_arg and va_end macros. Called function declares variable of type va_list that can be passed as argument to another function. STDARG.H,

CRTDEFS.H
wchar_t wide character Useful for writing portable programs for international markets. STDDEF.H, STDLIB.H,

CRTDEFS.H,

SYS\STAT.H
wctrans_t integer Represents locale-specific character mappings. WCTYPE.H
wctype_t integer Can represent all characters of any language character set. WCHAR.H,

CRTDEFS.H
wint_t integer Type of data object that can hold any wide character or wide end-of-file value. WCHAR.H,

CRTDEFS.H

See also

C runtime library reference