外部インタフェース/API    

構造体とセル配列を渡す

構造体とセル配列は、MATLAB 5での新しいデータタイプです。構造体とセル配列の機能の説明や、それらの操作のための組み込み関数の説明は、「構造体とセル配列」を参照してください。MATLABの他のすべてのデータタイプのように、構造体とセル配列は、C MEX-ファイルに渡されます。

構造体やセル配列をMEX-ファイルに渡すことは、データ自身がタイプmxArrayであることを除き、他のデータタイプを渡すことと似ています。実際には、これはmxGetField(構造体)とmxGetCell(セル配列) がタイプmxArrayのポインタを出力することを意味します。このポインタをタイプmxArrayの他のポインタのように扱うことができますが、mxArrayに含まれるデータをCルーチンに渡したい場合は、アクセスのためにmxGetDataのようなAPI関数を使う必要があります。

つぎの例は、m行n列の構造体行列を入力として受け取り、以下のフィールドをもつ1行1列の構造体を出力します。

このプログラムの動作方法を見るためには、以下の構造体を入力します。

結果は以下のようになります。


 複数の入出力を渡す 複素データの操作