Main Content

Variable-Size Data

Definition, differences for code generation, dynamic memory allocation

Variable-size data is data whose size is not known at compile time or changes at run time. To use variable-size data in your MATLAB® code for which you intend to generate C/C++ code, follow the described guidelines. Certain restrictions apply to the use of variable-size data in MATLAB code that is intended for code generation. Learn techniques to control dynamic memory allocation and improve performance of the generated code.


coder.varsizeDeclare variable-size data


Code Generation for Variable-Size Arrays

Variable-size data is data whose size is not known at compile time or whose size can change at run time.

Define Variable-Size Data for Code Generation

Choose a method for defining variable-size data.

Control Memory Allocation for Variable-Size Arrays

Control when dynamic memory allocation is used.

Generate Code for Variable-Size Data

Generate code for data whose size might change at run time.

Specify Upper Bounds for Variable-Size Arrays

To avoid dynamic memory allocation, specify upper bounds for a variable-size array.

Use C Arrays in the Generated Function Interfaces

Understand and use arrays from the generated function interfaces

Incompatibilities with MATLAB in Variable-Size Support for Code Generation

Sometimes, the results for variable-size data in generated code are different than the results in MATLAB.

Variable-Sizing Restrictions for Code Generation of Toolbox Functions

Some restrictions for variable-size data apply to multiple toolbox functions.


Diagnose and Fix Variable-Size Data Errors

Troubleshoot size mismatch and upper bounds detection errors.