Değişkenlerin Başlatılması

Her değişken, tanımlama sırasında başlatılabilir. Değişken açık yolla başlatılmamışsa, değişkende saklanan değer her şey olabilir. Gizli başlatma kullanılmaz.

Global ve statik değişkenler sadece karşılık gelen tipte bir sabitle veya bir sabit ifade ile başlatılabilirler. Yerel değişkenler sadece sabitlerle değil, herhangi bir ifadeyle de başlatılabilirler.

Global ve statik değişkenlerin başlatılma işlemi sadece bir kez gerçekleştirilir. Yerel değişkenlerin başlatılması ise, karşılık gelen fonksiyonu her çağırışınızda gerçekleştirilir

Örnekler:

int    n       = 1;
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 } };
//--- tetris'den
int    right[4]={WIDTH_IN_PIXELS+VERT_BORDER,WIDTH_IN_PIXELS+VERT_BORDER,
                 WIDTH_IN_PIXELS+VERT_BORDER,WIDTH_IN_PIXELS+VERT_BORDER};
//--- yapının tüm alanlarının sıfır değerleriyle başlatılması
MqlTradeRequest request={};

Dizi elemanlarının değerlerinin listesi, küme parantezlerinin içine iliştirilmiş olmalıdır. Unutulmuş başlatma dizilimleri sıfıra eşit kabul edilir.

Başlatılan dizinin büyüklüğü belirtilmemişse, başlatma diziliminin büyüklüğüne göre derleyici tarafından belirlenir.

Örnekler:

struct str3
  {
   int               low_part;
   int               high_part;
  };
struct str10
  {
   str3              s3;
   double            d1[10];
   int               i3;
  };
void OnStart()
  {
   str10 s10_1={{1,0},{1.0,2.1,3.2,4.4,5.3,6.1,7.8,8.7,9.2,10.0},100};
   str10 s10_2={{1,0},{},100};
   str10 s10_3={{1,0},{1.0}};
//---
   Print("1.  s10_1.d1[5] = ",s10_1.d1[5]);
   Print("2.  s10_2.d1[5] = ",s10_2.d1[5]);
   Print("3.  s10_3.d1[5] = ",s10_3.d1[5]);
   Print("4.  s10_3.d1[0] = ",s10_3.d1[0]);
  }

 
Yapı tipli değişkenlerin de statik dizilerde olduğu gibi –kapalı yolla ayarlanmış bir büyüklükle– kısmi olarak başlatılmalarına izin verilir. Bir yapı veya dizinin ilk elemanlarını bir veya daha çok defa başlatabilirsiniz, bu durumda diğer elemanlar sıfır ile başlatılacaktır.

Ayrıca Bakınız

Veri Tipleri, Tiplerin Kapsüllenmesi ve Genişletilebilirliği, Değişkenlerin Görünürlük Alanları ve Ömürleri, Nesnelerin Oluşturulması ve Silinmesi