配列

動的配列

最大4次元の配列が宣言可能です。
最初の角括弧[]に値指定なしの配列を宣言すると、自動的に動的配列が生成されます。

サンプルコード

double arr[][10];    // 2次元動的配列
ArrayResize(arr, 5); // 最初の次元のサイズを設定する

静的配列

配列の全ての次元が指定されている場合、静的配列と呼び、事前に必要なメモリサイズが割り当てられます。
静的配列には、関連付けられる動的配列のための追加メモリが割り当てられます。

構造体の配列

静的配列が構造体のメンバとして宣言されている場合には、動的配列は作成されません。これは、Windows APIで使用されるデータ構造の互換性を確保するためです。

しかし、構造体のメンバの静的配列もMQL4の関数に渡すことが出来ます。この場合、一時的に動的配列が作成されます。この配列は、構造体のメンバの静的配列にリンクされます。