| 外部インタフェース/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 | ![]() |