exponenta event banner

mxCreateStructArray (C)

Массив структуры N-D

Синтаксис C

#include "matrix.h"
mxArray *mxCreateStructArray(
    mwSize ndim, const mwSize *dims, int nfields, const char **fieldnames);

Описание

Звонить mxCreateStructArray для создания незаполненной структуры mxArray. Каждый элемент структуры mxArray содержит одинаковое количество полей (указано в nfields). Каждое поле имеет имя, указанное в fieldnames. Структура MATLAB ® mxArray концептуально идентичен массиву structs на языке Си.

Каждое поле содержит одно mxArray указатель инициализирован в NULL. Звонить mxSetField или mxSetFieldByNumber для размещения не-NULL mxArray указатель в поле.

Функция автоматически удаляет конечные одиночные размеры, указанные в dims аргумент. Например, если ndim равняется 5 и dims равняется [4 1 7 1 1], то размеры результирующего массива 4около-1около-7.

Звонить mxDestroyArray по завершении использования mxArray для освобождения mxArray и связанные с ним реальные и мнимые элементы.

Входные аргументы

развернуть все

Количество размеров, указанное как mwSize. Если ndim меньше 2, то mxCreateStructArray устанавливает число размеров равным 2.

Массив размеров, указанный как массив const mwSize.

Каждый элемент в массиве размеров содержит размер массива в этом измерении. Например, для создания 5около-7 массив, набор dims[0] до 5 и dims[1] до 7.

Обычно, dims массив содержит ndim элементы.

Количество полей в каждом элементе, указанное как int.

Одно или несколько имен полей, указанных как const char **.

Имена полей должны быть допустимыми идентификаторами MATLAB, что означает, что они не могут быть NULL или пустой. Имена полей чувствительны к регистру. Чтобы определить максимальную длину имени поля, используйте namelengthmax функция.

Выходные аргументы

развернуть все

Указатель на mxArray, указано как mxArray *.

Функция неуспешна, если недостаточно свободного пространства кучи для создания mxArray.

  • MEX-файл - функция завершает работу MEX-файла и возвращает элемент управления в подсказку MATLAB.

  • Автономное (не MEX-файл) приложение - функция возвращает NULL.

Примеры

См. эти примеры в разделе matlabroot/extern/examples/mx:

Представлен до R2006a