| External Interfaces/API Reference | ![]() |
Create unpopulated N-dimensional structure mxArray
C Syntax
#include "matrix.h" mxArray *mxCreateStructArray(int ndim, const int *dims, int nfields, const char **field_names);
Arguments
ndim
Number of dimensions. If you set ndim to be less than 2, mxCreateNumericArray creates a two-dimensional mxArray.
dims
The dimensions array. Each element in the dimensions array contains the size of the array in that dimension. For example, setting dims[0] to 5 and dims[1] to 7 establishes a 5-by-7 mxArray. Typically, the dims array should have ndim elements.
nfields
The desired number of fields in each element.
field_names
The desired list of field names.
Returns
A pointer to the created structure mxArray if successful, and NULL otherwise. The most likely cause of failure is insufficient heap space to hold the returned mxArray.
Description
Call mxCreateStructArray to create an unpopulated structure mxArray. Each element of a structure mxArray contains the same number of fields (specified in nfields). Each field has a name; the list of names is specified in field_names. A structure mxArray in MATLAB is conceptually identical to an array of structs in the C language.
Each field holds one mxArray pointer. mxCreateStructArray initializes each field to NULL. Call mxSetField or mxSetFieldByNumber to place a non-NULL mxArray pointer in a field.
When you finish using the returned structure mxArray, call mxDestroyArray to reclaim its space.
Examples
See mxcreatestructarray.c in the mx subdirectory of the examples directory.
See Also
| mxCreateString | mxCreateStructMatrix | ![]() |