Pointer object compatible with C pointer
MATLAB® automatically converts arguments passed by reference to a function in an
external library. A passed-by-reference argument in the function signature has type names
PtrPtr. Use a pointer object instead
of automatic conversion in the following situations.
The function modifies data in an input argument.
You are passing large amounts of data, and you want to control when MATLAB makes copies of the data.
The library stores and uses the pointer, so you want the MATLAB function to control the lifetime of the
To create a
lib.pointer object, use the MATLAB
A library function can return a
lib.pointer object. Use the
setdatatype method to convert the argument manually to use in MATLAB.
DataType— Type of pointer
Type of pointer, specified as a character vector, of any MATLAB numeric type, structure defined in the library, or enumeration defined in the library. For a list of valid MATLAB numeric types, refer to these tables in C and MATLAB Equivalent Types.
MATLAB Primitive Types
MATLAB Extended Types
Value, specified as any valid value for given type.
Create a pointer
pv of type
int16 initialized to
pv = libpointer('int16Ptr',485);
Display the properties of
Value: 485 DataType: 'int16Ptr'