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 на языке C.

Каждое поле содержит один mxArray указатель инициализируется к NULL. Вызвать mxSetField или mxSetFieldByNumber поместить non-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