Standard Types

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

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 define for the user-defined hook function. Used in _CrtSetAllocHook.

CRTDBG.H

_CRT_DUMP_CLIENT,

_CRT_DUMP_CLIENT_M

A type define 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 define 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 structures

Store values returned by div and ldiv, 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. See EXCEPTION_POINTERS for more information.

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 _findnext, _wfindnext. See _find, _wfind 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

ino_t, _ino_t (unsigned short)

For returning status information.

WCHAR.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.

CRTDEF.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 define for a call-back function that is called when a pure virtual function is called. Used by _set_purecall_handler, _set_purecall_handler_m. A _purecall_handler function should have a void return type.

STDLIB.H

_RTC_error_fn type define

A type define for a function that will handle run-time error checks. Used in _RTC_SetErrorFunc.

RTCAPI.H

_RTC_error_fnW type define

A type define 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 define 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 define

A type define 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 is 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

Used by _ftime and _ftime_s, _ftime32_s, _ftime64_s to store current system time.

SYS\TIMEB.H

__timeb32 structure

Used by _ftime, _ftime32, _ftime64 and _ftime_s, _ftime32_s, _ftime64_s to store current system time.

SYS\TIMEB.H

__timeb64 structure

Used by _ftime64 and _ftime_s, _ftime32_s, _ftime64_s to store current system time.

SYS\TIMEB.H

tm structure

Used by 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 to store and retrieve time information.

TIME.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 define 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

Used by _utime64, _wutime64 and _futime64 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

Other Resources

C Run-Time Library Reference