Main Content

mxCreateUninitNumericArray (C)

Uninitialized N-D numeric array

C Syntax

#include "matrix.h"
mxArray *mxCreateUninitNumericArray(size_t ndim, size_t *dims, 
  mxClassID classid, mxComplexity ComplexFlag);

Arguments

ndim

Number of dimensions. If you specify a value for ndim that is less than 2, mxCreateUninitNumericArray automatically sets the number of dimensions to 2.

dims

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. Usually, the dims array contains ndim elements.

classid

Identifier for the class of the array, which determines the way the numerical data is represented in memory. For example, specifying mxINT16_CLASS causes each piece of numerical data in the mxArray to be represented as a 16-bit signed integer.

ComplexFlag

If the mxArray you are creating is to contain imaginary data, set ComplexFlag to mxCOMPLEX. Otherwise, set ComplexFlag to mxREAL.

Returns

Pointer to the created mxArray. If unsuccessful in a standalone (non-MEX-file) application, returns NULL. If unsuccessful in a MEX-file, the MEX-file terminates and returns control to the MATLAB® prompt. The function is unsuccessful when there is not enough free heap space to create the mxArray.

Description

Call mxCreateUninitNumericArray to create an N-dimensional mxArray in which all data elements have the numeric data type specified by classid. Data elements are not initialized.

mxCreateUninitNumericArray allocates dynamic memory to store the created mxArray. Call mxDestroyArray to deallocate the memory.

The following table shows the C classid values that are equivalent to MATLAB classes.

MATLAB Class Name

C classid Value

int8

mxINT8_CLASS

uint8

mxUINT8_CLASS

int16

mxINT16_CLASS

uint16

mxUINT16_CLASS

int32

mxINT32_CLASS

uint32

mxUINT32_CLASS

int64

mxINT64_CLASS

uint64

mxUINT64_CLASS

single

mxSINGLE_CLASS

double

mxDOUBLE_CLASS

Introduced in R2015a