41
Замечание: не следует путать переменные, объявленные на глобальном уровне, с
глобальными переменными клиентского терминала, доступ к которым осуществляется
при помощи функций GlobalVariable...().
1.6.6 Инициализация переменных
Любая переменная при определении может быть инициализирована. Любая переменная
инициализируется нулем (0), если явно не задано другое начальное значение. Глобальные
и статические переменные могут быть проинициализированы только константой
соответствующего типа. Локальные переменные могут быть проинициализированы
любым выражением, а не только константой.
Инициализация глобальных и статических переменных производится однократно.
Инициализация локальных переменных производится каждый раз при вызове
соответствующих функций.
Примеры:
int n = 1;
double p = MarketInfo(Symbol(),MODE_POINT);
string s = "hello";
double f[] = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 };
int a[4][4] = { 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4,
4, 4, 4 };
Список значений элементов массива должен быть заключен в фигурные скобки.
Пропущенные инициализирующие значения считаются равными 0. Если размер
инициализируемого массива не указан, то он определяется компилятором, исходя из
размера инициализирующей последовательности. Многомерные массивы
инициализируются одномерной последовательностью, последовательностью без
дополнительных фигурных скобок. Массивы (в том числе и объявленные на локальном
уровне) могут инициализироваться только константами
1.6.7 Описание внешних функций
Тип внешних функций, определенных в другом модуле, должен быть явно описан.
Отсутствие такого описания может привести к ошибкам при компиляции, компоновке или