mxGetCell (C and Fortran)

Get contents of cell array

C Syntax

#include "matrix.h"
mxArray *mxGetCell(const mxArray *pm, mwIndex index);

Fortran Syntax

mwPointer mxGetCell(pm, index)
mwPointer pm
mwIndex index



Pointer to a cell mxArray


Number of elements in the cell mxArray between the first element and the desired one. See mxCalcSingleSubscript for details on calculating an index in a multidimensional cell array.


Pointer to the ith cell mxArray if successful. Otherwise, returns NULL in C (0 in Fortran). Causes of failure include:

  • Specifying the index of a cell array element that has not been populated.

  • Specifying a pm that does not point to a cell mxArray.

  • Specifying an index greater than the number of elements in the cell.

  • Insufficient heap space.

Do not call mxDestroyArray on an mxArray returned by the mxGetCell function.


Call mxGetCell to get a pointer to the mxArray held in the indexed element of the cell mxArray.

    Note   Inputs to a MEX-file are constant read-only mxArrays. Do not modify the inputs. Using mxSetCell* or mxSetField* functions to modify the cells or fields of a MATLAB® argument causes unpredictable results.


See the following examples in matlabroot/extern/examples/mex.

Was this topic helpful?