Main Content


Pointer object for use with shared C library


p = libpointer creates NULL pointer p of type voidPtr.


p = libpointer(DataType) creates NULL pointer of specified DataType.

p = libpointer(DataType,Value) creates pointer initialized to a copy of Value.


collapse all

p = libpointer('string');

Input Arguments

collapse all

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

Example: 'int16Ptr'

Data Types: char

Value, specified as any valid value for given type.


  • Use with libraries that are loaded using the loadlibrary function.


  • This is an advanced feature for experienced C programmers. MATLAB automatically converts data passed to and from external library functions to the data type expected by the external function. Use a lib.pointer object instead of automatic conversion in the following situations.

    • You want to modify the data in the input arguments.

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

Version History

Introduced before R2006a