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-by-1-by-7.

Вызовите mxDestroyArray, когда вы закончите использовать mxArray, чтобы освободить mxArray и его связанные действительные и мнимые элементы.

Входные параметры

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

Количество размерностей, заданных как mwSize. Если ndim - меньше чем 2, то mxCreateStructArray определяет номер размерностей к 2.

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

Каждый элемент в массиве размерностей содержит размер массива в той размерности. Например, чтобы создать 5-by-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