| 外部インタフェース/API リファレンス | ![]() |
C 言語表示
#include "matrix.h" int mxGetElementSize(const mxArray *array_ptr);
戻り値
成功した場合は、指定したmxArrayの1要素を格納するために必要なバイト数。失敗した場合は0を出力します。失敗の主な理由は、array_ptrが認識されないクラスをもつmxArrayを指すことです。array_ptrがセルのmxArrayまたは構造体のmxArrayを指す場合、mxGetElementSizeはポインタのサイズを出力します(各々のセルまたは構造体のフィールド内のすべての要素サイズではありません)。
詳細
mxGetElementSizeを呼び出すことによって、mxArrayの各々のデータ要素内のバイト数を決定します。たとえば、mxArrayのmxClassIDがmxINT16_CLASSならば、mxArrayは各データ要素を16ビット(2バイト)符号付き整数として格納します。そのため、mxGetElementSizeは2を出力します。
mxGetElementSizeは、データ要素を操作するために非MATLABルーチンを利用しているときに特に役立ちます。たとえば、memcpyは(第三引数として)コピーする要素のサイズを必要とします。
例題
examplesディレクトリのrefbookサブディレクトリのdoubleelement.cとphonebook.cを参照してください。
参考
| mxGetDimensions | mxGetEps | ![]() |