メインコンテンツ

mxCreateStructArray (Fortran)

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 に初期化された 1 つの mxArray ポインターがあります。mxSetField または mxSetFieldByNumber を呼び出して、フィールドに 0 でない mxArray ポインターを配置します。

関数は、dims 引数で指定されている、後に続く大きさが 1 の次元を自動的に削除します。たとえば、ndim5dims[4 1 7 1 1] である場合、結果の配列の次元は 4 x 1 x 7 となります。

mxArray の使用が終わったら、mxDestroyArray を呼び出します。関数 mxDestroyArray は、mxArray とそれに関連する要素の割り当てを解除します。

入力引数

すべて展開する

次元数。mwSize として指定します。ndim が 2 未満の場合、mxCreateStructArray は次元数を 2 に設定します。

次元配列。mwSize の配列 ndim として指定します。

次元配列の各要素には、その次元の配列のサイズが含まれています。たとえば、57 列の配列を作成するには、dims(1) を 5 に、dims(2) を 7 に設定します。

通常、配列 dims には ndim 個の要素が含まれます。

各要素のフィールド数。integer*4 として指定します。

1 つ以上のフィールド名。character*(*) として指定します。

フィールド名は有効な MATLAB® 識別子でなければなりません。つまり、空にすることはできません。フィールド名では大文字と小文字が区別されます。フィールド名の最大長を決めるには、関数 namelengthmax を使用します。

出力引数

すべて展開する

mxArray へのポインター。mwPointer として指定します。

関数は、mxArray を作成するのに十分な空きヒープ領域がない場合、失敗します。

  • MEX ファイル — 関数は MEX ファイルを終了し、制御を MATLAB プロンプトに戻します。

  • スタンドアロン (非 MEX ファイル) アプリケーション — 関数は 0 を返します。

バージョン履歴

R2006a より前に導入