ZeroMemory

Referansla geçirilmiş bir değişkeni sıfırlar.

void  ZeroMemory(
   void & variable      // sıfırlama değişkeni
   );

Parametreler

variable

[in] [out]  Sıfırlanmak istenen, referansla geçirilmiş değişken (sıfır değeri ile başlat).

Dönüş değeri

Dönüş değeri yok.

Not

Fonksiyon parametresinin bir dizgi olması çağrı değeri olarak NULL belirtmeye eşdeğerdir.
Basit tipler ve bunların dizileri için, aynı zamanda bu tipleri içeren yapılar/sınıflar için, bu basit bir sıfırlamadır.
Dizgiler ve dinamik diziler içeren nesnelerde, ZeroMemory() her eleman için çağrılır.
const modifier ile korunmayan diziler için bu, tüm elemanların sıfırlanmasıdır.
Karmaşık nesne dizilerinde, ZeroMemory() her eleman için çağrılır.

ZeroMemory(), korunan üyelere veya kalıtıma sahip sınıflara uygulanamaz.

Örnek:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- dizgeyi bildir ve başlat
   string str="Test ZeroMemory func";
//--- ZeroMemory() fonksiyonunu uygulamadan önce satırı günlüğe gönder
   PrintFormat("The line before applying ZeroMemory() to it: '%s'",str);
//--- dizgeyi sıfırla ve sonucu günlüğe gönder
   ZeroMemory(str);
   Print("The same line after applying ZeroMemory() to it: '",str,"'");
  /*
  Sonuç:
   The line before applying ZeroMemory() to it: 'Test ZeroMemory func'
   The same line after applying ZeroMemory() to it: ''
  */
 
//--- int türündeki değişkeni bildir ve başlat
   int var=123;
//--- ZeroMemory() fonksiyonunu uygulamadan önce satırı günlüğe gönder
   PrintFormat("\nThe integer variable before applying ZeroMemory() to it: %d",var);
//--- değişkeni sıfırla ve sonucu günlüğe gönder
   ZeroMemory(var);
   PrintFormat("The same variable after applying ZeroMemory() to it: %d",var);
  /*
  Sonuç:
   The integer variable before applying ZeroMemory() to it123
   The same variable after applying ZeroMemory() to it0
  */
 
//--- int türündeki diziyi bildir ve başlat
   int arr[]={0,1,2,3,4,5,6,7,8,9};
//--- ZeroMemory() fonksiyonunu uygulamadan önce diziyi günlüğe gönder
   Print("\nThe integer array before applying ZeroMemory() to it:");
   ArrayPrint(arr);
//--- diziyi sıfırla ve sonucu günlüğe gönder
   ZeroMemory(arr);
   Print("The same array after applying ZeroMemory() to it:");
   ArrayPrint(arr);
  /*
  Sonuç:
   The integer array before applying ZeroMemory() to it:
   0 1 2 3 4 5 6 7 8 9
   The same array after applying ZeroMemory() to it:
   0 0 0 0 0 0 0 0 0 0
  */
 
//--- iki alandan (dizge ve tamsayı) oluşan bir yapı bildir
   struct STest
     {
      string   var_string;
      long     var_long;
     };
//--- STest yapı türündeki diziyi bildir ve başlat
   STest arr_struct[]={ {"0",0}, {"1",1}, {"2",2}, {"3",3} };
//--- ZeroMemory() fonksiyonunu uygulamadan önce diziyi günlüğe gönder
   Print("\nThe array struct before applying ZeroMemory() to it:");
   ArrayPrint(arr_struct);
//--- yapı dizisini sıfırla ve sonucu günlüğe gönder
   ZeroMemory(arr_struct);
   Print("The same array struct after applying ZeroMemory() to it:");
   ArrayPrint(arr_struct);
  /*
  Sonuç:
   The array struct before applying ZeroMemory() to it:
       [var_string] [var_long]
   [0"0"                   0
   [1"1"                   1
   [2"2"                   2
   [3"3"                   3
   The same array struct after applying ZeroMemory() to it:
       [var_string] [var_long]
   [0null                  0
   [1null                  0
   [2null                  0
   [3null                  0
  */
  }