ArrayInitialize

Önceden ayarlanmış bir değerle, bir sayısal dizi başlatır.

For initialization of an array of char type

int  ArrayInitialize(
   char    array[],     // başlatılan dizi
   char    value        // ayarlanacak değer
   );

For initialization of an array of short type

int  ArrayInitialize(
   short   array[],     // başlatılan dizi
   short   value        // ayarlanacak değer
   );

For initialization of an array of int type

int  ArrayInitialize(
   int     array[],     // başlatılan dizi
   int     value        // ayarlanacak değer
   );

For initialization of an array of long type

int  ArrayInitialize(
   long    array[],     // başlatılan dizi
   long    value        // ayarlanacak değer
   );

For initialization of an array of float type

int  ArrayInitialize(
   float   array[],     // başlatılan dizi
   float   value        // ayarlanacak değer
   );

For initialization of an array of double type

int  ArrayInitialize(
   double  array[],     // başlatılan dizi
   double  value        // ayarlanacak değer
   );

For initialization of an array of bool type

int  ArrayInitialize(
   bool    array[],     // başlatılan dizi
   bool    value        // ayarlanacak değer
   );

For initialization of an array of uint type

int  ArrayInitialize(
   uint    array[],     // başlatılan dizi
   uint    value        // ayarlanacak değer
   );

Parametreler

array[]

[out]  Başlatılması öngörülen sayısal dizi.

value

[in]  Tüm dizi elemanlarının alacağı yeni değer.

Dönüş değeri

Elemanların sayısı.

Not

ArrayResize() fonksiyonu, sonradan yapılacak genişletmelerde hafızanın fiziksel yer değişimini önlemek için, dizi büyüklüğünün rezerve ara-bellek ile ayarlanmasını sağlar. Bu daha iyi bir performans elde etmek için uygulanır. Çünkü hafızanın yer değişim işlemi oldukça yavaştır.

Dizinin ArrayInitialize(array, init_val) kullanılarak başlatılması, dizi için ayrılmış rezerve elemanların sayısıyla başlatılacağı anlamına gelmez. ArrayResize() kullanılarak yapılan sonraki genişletmelerde elemanlar dizinin sonuna eklenecektir, değerleri tanımsız olacaktır ve çoğu durumda init_value değerine (başlangıç değerine) eşit olmayacaklardır.

Örnek:

void OnStart()
  {
//--- dinamik dizi
   double array[];
//--- dizi büyüklüğünü 100 elemana ayarlayalım ve fazladan 10 eleman için bir arabellek rezerve edelim
   ArrayResize(array,100,10);
//--- dizi elemanlarını EMPTY_VALUE=DBL_MAX değeri (boş değer) ile başlat.
   ArrayInitialize(array,EMPTY_VALUE);
   Print("Başlatmanın ardından son 10 elemanın değerleri");
   for(int i=90;i<100;i++) printf("array[%d] = %G",i,array[i]);
//--- diziyi beş elemanla genişlet
   ArrayResize(array,105);
   Print("ArrayResize(array,105) çağrısının ardından son 10 elemanın değerleri ");
//--- son 5 elemanın değerleri rezerve edilmiş arabellekten alınır 
   for(int i=95;i<105;i++) printf("array[%d] = %G",i,array[i]);
  }