mxGetElementSize (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.

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

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

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

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

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

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

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

Возвращается 0 на отказе. Основной причиной отказа является тот pm точки к mxArray наличие нераспознанного класса.

Примеры

Смотрите эти примеры в matlabroot/extern/examples/refbook:

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

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

Поведение изменяется в R2018a

Смотрите также

|

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