exponenta event banner

mxGetElitySize (C)

Количество байт, необходимое для хранения каждого элемента данных

Для комплекса mxArray построен с чередующимся комплексным API, mxGetElementSize возвращает в два раза больше значения, которое возвращает функция в отдельном сложном API. Дополнительные сведения см. в разделе Вопросы совместимости.

Синтаксис C

#include "matrix.h"
size_t mxGetElementSize(const mxArray *pm);

Описание

Звонить mxGetElementSize для определения количества байтов в каждом элементе данных mxArray. Например, если класс MATLAB ® mxArray является int16, mxArray сохраняет каждый элемент данных в виде 16-разрядного (2-байтового) целого числа со знаком. Таким образом, mxGetElementSize прибыль 2.

mxGetElementSize полезен при использовании подпрограммы, отличной от MATLAB, для управления элементами данных. Например, функция C memcpy требуется размер элементов, которые требуется скопировать.

Входные аргументы

развернуть все

Указатель на mxArray, указано как const mxArray*.

Выходные аргументы

развернуть все

Количество байт, необходимое для хранения одного элемента указанного mxArray, возвращено как size_t.

Если pm является сложным числовым, то данные в выходном аргументе зависят от используемой версии C Matrix API.

  • При сборке с чередующимся комплексным API (mex -R2018a ), то возвращаемое значение равно sizeof(std::complex<T>), где T - тип данных массива.

  • При сборке с помощью отдельного сложного API (mex -R2017b ), то функция возвращает количество байт для типа данных массива независимо от того, является массив сложным или реальным.

Если pm указывает на ячейку или структуру, затем mxGetElementSize возвращает размер указателя. Функция не возвращает размер всех элементов в каждой ячейке или поле структуры.

Возвращает 0 при сбое. Основной причиной отказа является то, что pm указывает на mxArray имеет нераспознанный класс.

Примеры

См. эти примеры в разделе matlabroot/extern/examples/refbook:

Вопросы совместимости

развернуть все

В R2018a изменилось поведение

См. также

|

Представлен до R2006a