This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Pointer object for use with shared C library


p = libpointer
p = libpointer(DataType)
p = libpointer(DataType,Value)


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.

Introduced before R2006a