MATLAB Application Program Interface Reference Help Desk

mxGetFieldByNumber

Purpose

Get a field value, given a field number and an index in a structure array

C Syntax

Arguments

array_ptr

Pointer to a structure mxArray.

index

The desired element. The first element of an mxArray has an index of 0, the second element has an index of 1, and the last element has an index of N-1, where N is the total number of elements in the structure mxArray. See mxCalcSingleSubscript for more details on calculating an index.

field_number

The position of the field whose value you want to extract. The first field within each element has a field number of 0, the second field has a field number of 1, and so on. The last field has a field number of N-1, where N is the number of fields.

Returns

A pointer to the mxArray in the specified field at the specified field_name, on success. Returns NULL otherwise. One possibility is that there is no value assigned to the specified field. Another possibility is that there is a value, but the call failed. Common causes of failure include

Description

Call mxGetFieldByNumber to get the value held in the specified field_number at the index-th element.

When you finish using the returned mxArray, call mxDestroyArray to deallocate it.

Examples

Consider a MEX-file that gathers a pointer to the mxArray stored at each field of each element in a structure mxArray. For example, given an input 12-by-1 structure mxArray in which each element contains three fields, the MEX-file calls mxGetFieldByNumber 36 times:

This MEX-file does not contain code to analyze the returned field_array_ptr. (The online example explore.c does contain such code.) For an additional example, see mxGetFieldByNumber.c in the mx subdirectory of the examples directory.

See Also

mxGetField, mxGetFieldNameByNumber, mxGetFieldNumber, mxGetNumberOfFields, mxSetField, mxSetFieldByNumber



[ Previous | Help Desk | Next ]