lib.pointer class

Package: lib

Pointer object compatible with C pointer


MATLAB® automatically converts arguments that are passed by reference to a function in an external library. 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 for a period of time so you want the MATLAB function to control the lifetime of the lib.pointer object.


To create a lib.pointer object, use the MATLAB libpointer function.

A library function can return a lib.pointer object. Use the setdatatype method to manually convert the argument to use in MATLAB.



Type of pointer, specified as a string, 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.


dispDisplay lib.pointer type
isNullPoints to NULL pointer
plus+ (plus) operator for pointer arithmetic
reshapeReshape lib.pointer array
setdatatypeInitialize type and size of lib.pointer object


A passed-by-reference argument in the function signature has type names ending with Ptr or PtrPtr.


expand all

Create Pointer

Create a pointer, pv, of type int16, initialized to 485.

pv = libpointer('int16Ptr',485);

Display the properties of pv.

       Value: 485
    DataType: 'int16Ptr'

See Also

More About

Introduced before R2006a

Was this topic helpful?