mxCreateStructArray (Fortran)

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

Синтаксис языка ФОРТРАН

#include "fintrf.h"
mwPointer mxCreateStructArray(ndim, dims, nfields, fieldnames)
mwSize ndim
mwSize dims(ndim)
integer*4 nfields
character*(*) fieldnames(nfields)

Описание

Вызвать mxCreateStructArray создать безлюдную структуру mxArray. Каждый элемент структуры mxArray содержит то же количество полей, заданных в nfields. Каждое поле имеет имя, заданное в fieldnames.

Каждое поле содержит один mxArray указатель инициализируется к 0. Вызвать mxSetField или mxSetFieldByNumber поместить non-0 mxArray указатель в поле.

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

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

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

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

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

Массив размерностей в виде ndim массив mwSize.

Каждый элемент в массиве размерностей содержит размер массива в той размерности. Например, чтобы создать 5- 7 массив, набор dims(1) к 5 и dims(2) к 7.

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

Количество полей в каждом элементе в виде integer*4.

Одни или несколько имен полей в виде character*(*).

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

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

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

Указатель на mxArrayВ виде mwPointer.

Функция неудачна, когда существует недостаточно свободного пространства "кучи", чтобы создать mxArray.

  • Файл MEX — Функция отключает файл MEX и возвращает управление в подсказку MATLAB.

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

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