外部インタフェース/API リファレンス | ![]() ![]() |
C 言語表示
#include "matrix.h" mxArray *mxCreateStructArray(int ndim, const int *dims, int nfields, const char **field_names);
引数
ndim
次元数。ndims
を2未満に設定した場合、mxCreateNumericArray
は2次元のmxArray
を作成します。
dims
dims[0]
を5に、dims[1]
を7に設定すると、5行7列のmxArray
を作成します。一般的に、配列dims
は、ndim
個の要素をもちます。
nfields
field_names
戻り値
成功した場合は、作成した構造体mxArray
のポインタ。そうでない場合は、NULL
を出力します。最も考えられる失敗の理由は、出力したmxArray
を保持するためのヒープ領域が不十分であることです。
詳細
mxCreateStructArray
を呼び出すことによって、要素の入っていない構造体mxArray
を作成します。構造体mxArray
の各要素には、(nfields
で指定される)同数のフィールドが含まれます。各フィールドには名前があります。名前のリストは、field_names
で指定されます。MATLAB構造体mxArray
は、C言語のstructs
の配列と概念的に同じです。
各フィールドは、1つのmxArray
のポインタをもちます。
mxCreateStructArray
は、各フィールドをNULL
に初期化します。フィールド内に非NULL
mxArray
ポインタを設定するには、mxSetField
またはmxSetFieldByNumber
を呼び出します。
出力された構造体mxArray
の使用を終了するときは、スペースを開放するためにmxDestroyArray
を呼び出してください。
例題
examples
ディレクトリのmx
サブディレクトリのmxcreatestructarray.c
を参照してください。
参考
![]() | mxCreateString | mxCreateStructMatrix | ![]() |