Değişkenler kullanılmadan önce bildirilmelidir. Tanımlama için benzersiz isimler kullanılır. Bir değişkeni bildirmek için tipini ve benzersiz ismini belirtmelisiniz. Değişken bildirimi bir işlemci değildir.
Bildirimde kullanılabilecek basit tipler şunlardır:
Örnekler:
string szInfoBox;
|
Karmaşık yada bileşik tipler:
Yapılar kompozit veri tipleridir, diğer tipler kullanılarak inşa edilirler.
struct MyTime
|
Yapıyı bildirmeden yapının değişkenlerini bildiremezsiniz.
Dizi, aynı tipli verilerin indislenmiş dizilimidir:
int a[50]; // 50 tamsayıdan oluşan tek boyutlu dizi.
|
Dizi indisleri tamsayı olmak zorundadır. Dört boyuttan yüksek dizilere izin verilmez. Dizi elemanları 0 'dan başlanarak indislenir. Tek boyutlu bir dizinin son elemanının indisi, dizinin toplam eleman sayısından bir küçüktür. Yani, 50 elemanlı bir dizinin son elemanının çağrısı a[49] şeklinde olacaktır. Aynı durum çok boyutlu dizilerde de geçerlidir: Her boyut, 0'dan 'boyut sayısı - 1' değerine kadar indislenir. Örnekteki iki boyutlu dizinin son elemanı m[6][49] şeklinde olacaktır.
Statik diziler zaman serisi şeklinde ifade edilemezler. Yani dizi elemanlarına erişimi sondan başa doğru ayarlayan ArraySetAsSeries() bunlara uygulanamaz. Eğer bir diziye zaman serilerinde olduğu gibi erişim sağlamak istiyorsanız, bir dinamik dizi nesnesi kullanın.
Dizi kapsamının dışına bir erişim denemesi olduğunda, çalıştırma alt sistemi bir kritik hata oluşturacaktır ve program duracaktır.
Dizilerle çalışmak için yerleşik metotların yanı sıra dizi fonksiyonları bölümündeki fonksiyonları da kullanabilirsiniz.
Metot |
Analog |
Açıklama |
|---|---|---|
void array.Fill(const scalar value, const int start_pos=0, const int count=-1); |
Diziyi belirtilen değerle doldurur |
|
void array.Free(); |
Dinamik dizi arabelleğini serbest bırakır ve sıfır boyutunun büyüklüğünü 0 (sıfır) olarak ayarlar |
|
int array.Resize(const int range0_size, const int reserve); int array.Resize(const int range_sizes[], const int reserve); |
Dizinin birinci boyutu için yeni büyüklük ayarlar |
|
int array.Print(); |
Basit türde dizinin değerlerini günlükte görüntüler |
|
int array.Size(const int range=-1); |
Tüm dizideki (range=-1) veya belirtilen dizi boyutundaki öğelerin sayısını geri döndürür |
|
bool array.IsDynamic(); |
Dizinin dinamik olup olmadığını kontrol eder |
|
bool array.IsIndicatorBuffer(); |
|
Dizinin bir gösterge arabelleği olup olmadığını kontrol eder |
bool array.IsSeries(); |
Dizinin bir zaman serisi olup olmadığını kontrol eder |
|
bool array.AsSeries(); |
Dizinin indeksleme yönünü kontrol eder |
|
bool array.AsSeries(const bool as_series); |
Dizinin indeksleme yönünü ayarlar |
|
int array.Copy(const src_array[], const int dst_start, const int src_start, const int cnt); |
Dizi değerlerini başka bir diziye kopyalar |
|
int array.Compare(const src_array[], const int dst_start, const int src_start, const int cnt); |
İki basit türde dizinin veya özel yapının karşılaştırılmasının sonucunu geri döndürür |
|
int array.Insert(const src_array[], const int dst_start, const int src_start, const int cnt); |
Belirtilen indeksten başlayarak, kaynak diziden belirtilen sayıda öğeyi alıcı diziye ekler |
|
int array.Remove(const int start_pos, const int count); |
Belirtilen indeksten başlayarak, belirtilen sayıda öğeyi diziden kaldırır |
|
int array.Reverse(const int start_pos, const int count); |
Belirtilen indeksten başlayarak, belirtilen sayıda öğeyi dizide tersine çevirir |
|
bool array.Swap(array& arr[]); |
İçeriği aynı türden başka bir dinamik diziyle değiştirir |
|
void array.Sort(sort_function); |
Sayısal dizileri birinci boyuta göre sıralar |
|
int array.Search(scalar value, search_function); |
Dizinin birinci boyutunda bulunan ilk öğenin indeksini geri döndürür |
|
int array.Find((scalar value, search_function); |
|
İletilen fonksiyonu kullanarak dizide arama yapar ve bulunan ilk öğenin indeksini geri döndürür |
array array.Select(scalar value, search_function); |
|
İletilen fonksiyonu kullanarak dizide arama yapar ve bulunan tüm öğeleri içeren diziyi geri döndürür |
Erişim belirteçleri derleyicinin değişkenlere, yapı veya sınıf üyelerine nasıl erişebileceğini tanımlar.
const belirteci bir değişkeni sabit olarak bildirir ve çalışma zamanı boyunca değişmesine izin vermez. Bildirildiği zaman değişkenin sadece bir sefer başlatılmasına izin verir.
Örnek:
int OnCalculate (const int rates_total, // price[] dizisinin büyüklüğü
|
Yapı ve sınıf üyelerine erişim için şu erişim belirteçlerini kullanabilirsiniz:
Üç adet bellek sınıfı bulunmaktadır: static, input ve extern. Bu şekillendiriciler, karşılık gelen değişkenlerin global havuz denilen, önceden tahsis edilmiş bellek alanında dağıtıldığını derleyiciye açık olarak gösterirler. Ayrıca, değişken verilerinin özel işleniş şekillerini de belirtirler. Yerel düzeyde bildirilmiş bir değişken statik değilse, gereken bellek program yığınında otomatik olarak tahsis edilir. Statik olmayan bir dizi için ayrılmış bellek, dizinin bildirildiği bloğun görünürlük alanı dışına çıkıldığında otomatik olarak serbest bırakılır.
Ayrıca Bakınız
Veri Tipleri, Tiplerin Kapsüllenmesi ve Genişletilebilirliği, Değişkenlerin Başlatılması, Değişkenlerin Görünürlük Alanları ve Ömürleri, Nesnelerin Oluşturulması ve Silinmesi, Bir Sınıfın Statik Elemanları