Назад  Вперед

ArrayInitialize

Инициализирует числовой массив указанным значением.

void  ArrayInitialize(
   double  array[],     // инициализируемый массив
   double  value        // значение, которое будет установлено
   );

Параметры

array[]

[out]  Числовой массив, который нужно инициализировать.

value

[in]  Новое значение, которое нужно установить всем элементам массива.

Возвращаемое значение

Нет возвращаемого значения.

Примечание

Функция ArrayResize() позволяет задать для массива размер с некоторым запасом для его будущего увеличения без физического перераспределения памяти. Это сделано для улучшения быстродействия, так как операции по распределению памяти являются достаточно медленными.

Инициализация массива выражением ArrayInitialize(array, init_val) не означает инициализацию этим же значением и элементов резерва, выделенного для этого массива. При последующих увеличениях размера  массива array функцией ArrayResize() в пределах текущего резерва, в конец массива добавляются элементы, значения которых не определены и, чаще всего, не равны init_val.

Пример:

void OnStart()
  {
//--- динамический массив
   double array[];
//--- зададим размер массива для 100 элементов и зарезервируем еще буфер в 10 элементов
   ArrayResize(array,100,10);
//--- инициализируем элементы массива значением EMPTY_VALUE=DBL_MAX
   ArrayInitialize(array,EMPTY_VALUE);
   Print("Значения последних 10 элементов массива после инициализации");
   for(int i=90;i<100;i++) printf("array[%d] = %G",i,array[i]);
//--- увеличим размер массива на 5 элементов
   ArrayResize(array,105);
   Print("Значения последних 10 элементов массива после ArrayResize(array,105)");
//--- значения последних 5элементов были полученыиз буфера резерва
   for(int i=95;i<105;i++) printf("array[%d] = %G",i,array[i]);
  }