主要内容

mxCreateStructArray (Fortran)

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

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

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

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

输入参数

全部展开

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

维度数组,指定为 mwSizendim 数组。

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

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

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

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

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

输出参量

全部展开

指向 mxArray 的指针,指定为 mwPointer

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

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

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

版本历史记录

在 R2006a 之前推出