## 3 Data Types ¶

All versions of Octave include a number of built-in data types, including real and complex scalars and matrices, character strings, a data structure type, and an array that can contain all data types.

It is also possible to define new specialized data types by writing a small amount of C++ code. On some systems, new data types can be loaded dynamically while Octave is running, so it is not necessary to recompile all of Octave just to add a new type. See External Code Interface, for more information about Octave’s dynamic linking capabilities. User-defined Data Types describes what you must do to define a new data type for Octave.

`typestr =` typeinfo `(expr)` ¶
`cstr =` typeinfo `()` ¶

  Return the type of the expression expr, as a string.

  If expr is omitted, return a cell array of strings containing all the currently installed data types.

  See also: class, isa.