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В виде const mxArray*.

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

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

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

Если 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