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

Arguments

pm

Pointer to a cell mxArray

index

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.

Returns

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.

If the pointer in the cell is NULL, mxGetCell allocates an empty, double mxArray.

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

Description

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.

Examples

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

Was this topic helpful?