主要内容

mxCreateStructArray (Fortran)

R2026b

N 维结构体数组

Fortran 语法

#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 中指定。

每个字段保留一个初始化为 0 的 mxArray 指针。调用 mxSetField 或 mxSetFieldByNumber 以在字段中放置非 0 的 mxArray 指针。

该函数会自动删除在 dims 参量中指定的尾部单一维度。例如,如果 ndim 等于 5 且 dims 等于 [4 1 7 1 1],则生成的数组的维度为 4×1×7。

完成使用 mxArray 后,请调用 mxDestroyArray。mxDestroyArray 函数将释放 mxArray 及其相关联的部元素。

输入参数

全部展开

维数,指定为 mwSize。如果 ndim 小于 2,则 mxCreateStructArray 将维数设置为 2。

维度数组,指定为 mwSize 的 ndim 数组。

维度数组中的每个元素包含该维度中数组的大小。例如,要创建一个 5×7 数组,请将 dims(1) 设置为 5,将 dims(2) 设置为 7。

通常,dims 数组包含 ndim 个元素。

每个元素中的字段数,指定为 integer*4。

一个或多个字段名称,指定为 character*(*)。

字段名称必须为有效的 MATLAB® 标识符,这意味着它们不能为空。字段名称区分大小写。要确定字段名称的最大长度,请使用 namelengthmax 函数。

输出参量

全部展开

指向 mxArray 的指针,指定为 mwPointer。

当没有足够的可用堆空间来创建 mxArray 时,该函数不会成功执行。

  • MEX 文件 - 函数将终止 MEX 文件并将控制权返回给 MATLAB 提示符。

  • 独立(非 MEX 文件)应用程序 - 函数将返回 0。

版本历史记录

在 R2006a 之前推出