Additional Topics > External Development Guide > IDLInternals - Variables > Scalar Variables

# Scalar Variables

A scalar IDL_VARIABLE is distinguished by not having the IDL_V_ARR bit set in its flags field. A scalar variable must have one of the basic data types (IDL structures are never scalar) shown in the table below. The data for a scalar variable is stored in the IDL_VARIABLE itself, using the IDL_ALLTYPES union. The following table gives the relationship between the data type and the field used.

Scalar Data Type | Field That Stores Data
--- | ---
IDL_TYP_UNDEF | None
IDL_TYP_BYTE | value.c
IDL_TYP_INT | value.i
IDL_TYPE_UINT | value.ui
IDL_TYP_LONG | value.l
IDL_TYP_ULONG | value.ul
IDL_TYP_LONG64 | value.l64
IDL_TYP_ULONG64 | value.ul64
IDL_TYP_FLOAT | value.f
IDL_TYP_DOUBLE | value.d
IDL_TYP_COMPLEX | value.cmp
IDL_TYP_STRING | value.dcmp
IDL_TYP_PTR | value.str
IDL_TYP_OBJ | value.hvid