# C++ Değişkenler
C++ Değişkenler (Variables) konusunu işliyoruz.
Değişkenler, programlarımızdaki verilerin tutulduğu adlandırılmış bellek alanlarıdır. C++’daki her değişken, değişkenin belleğinin boyutunu ve düzenini belirleyen özel bir türe sahiptir. Aşağıdaki ifadeleri sağlayacak şekilde tanımlaması yapılabilir.
Bir değişkenin adı harfler(ANSI standartlarında) , rakamlar ve alt çizgi karakterinden oluşabilir.
Bir harf veya alt çizgi ile başlamalıdır. Büyük ve küçük harfler farklıdır, çünkü C++ büyük / küçük harfe duyarlıdır.
C++ program deyimleri deyimleri dışındaki ifadeler değişken ismi olarak kullanılabilir.(Örn int değişken adı olarak kullanılmaz)
Önceki C++ Syntax dersinde bu veri türlerinden bahsetmiştik. Aşağıdaki veri tanımlayıcıları ile değişken tanımlaması yapılır.
Sıra | Tip ve Tanımı | Tanımı |
1 | bool | true /false boolean değer alır. |
2 | char | Bir bytelık veri alan tam sayı türüdür. |
3 | int | Doğal tam sayı veri türüdür. |
4 | float | Ondalıklı sayı türü. |
5 | double | Daha geniş ondalıklı sayı türü. |
6 | void | Dönüş olmadığını temsil eder. |
7 | wchar_t | Geniş bir karakter türü. |
C++ ayrıca Enumeration
, Pointer
, Array
, Reference
, Data structure
, ve Class
türlerini tanımlamaya da izin verir.
Aşağıdaki işlemler bir değişken nasıl tanımlanıp kullanılacağını kapsamaktadır.
1. C++ Değişken Tanımlama
Bir değişken tanımlaması derleyiciye değişken için ne kadar alan oluşturulacağını söyler. Bir değişken tanımlaması değişken tipi, değişken adı ve varsa eşittir(=) ile değişkenin aldığı değer olacak şekilde tanımlanır.
Örnek olarak:
2. Değişkene Değer Verme Çeşitleri
Direkt değer verme daha iyi performans gösterebilir. Ayrıca birkaç güçlü yana sahiptir. Bunun dışında direct initialization
sayesinde atama ve ilk değer verme işlemlerini birbirinden daha rahat ayırabiliriz.
Uniform initialization
bir takım sebeplerden dolayı diğer iki tanımlamadan daha iyidir. Diğer iki tanımlama türüyle veri listeleri tanımlanamaz. Boş bir süslü parantez ile tanımlanan veri otomatik olarak sıfır değerini alır.
İlk olarak bir değişken oluşturarak ardından bu boş değişkene değer atayabilirsiniz.
C++ dilinde değişkenlere varsayılan olarak değer ataması yapılmaz. Eğer programcı tarafından değer ataması yapılmamışsa değişken ramde saklandığı yerin önceki verisini tutmaya devam eder.
3. Çoklu Değişken Tanımlama
Tek satırda birden çok değişken oluşturabilirsiniz. Bu sayede daha az satırla daha hızlı tanımlamalar yapabilirsiniz.
4. Yerel Değişkenler
Bir fonksiyon veya blok içinde bildirilen değişkenlerdir. Sadece bu fonksiyon yada blok içinde kullanılabilirler. Yerel değişkenler kendi fonksiyonları dışında çalışmamaktadırlar. Aşağıdaki kullanım örneğini inceleyin.
5. Global Değişkenler
Global değişkenler, genellikle programın üstünde yer alan tüm fonksiyonların dışında tanımlanır. Global değişkenler, programınızın ömrü boyunca değerlerini koruyacaktır.
Global bir değişkene herhangi bir fonksiyon erişilebilir. Yani, global bir değişken, bildiriminin tamamlanmasından sonra tüm programınızda kullanılabilir. Aşağıda, global ve yerel değişkenleri kullanan örnek verilmiştir.
Dikkat: Bir program yerel ve global değişkenlere aynı anda sahip olabilir, ancak bir fonksiyon içindeki yerel değişkenin değeri tercih edilir.
Dikkat: Yerel bir değişken tanımlandığında, sistem tarafından otomatik başlatılmaz, bunu kendiniz başlatmanız gerekir. Global değişkenler tanımlandığında, sistem tarafından otomatik olarak ilk değer ataması yapar. (İlk değer ataması yapılmadığında oluşacak durum)
Veri Tipi | Başlangıç değeri |
int | 0 |
char | ‘\0’ |
float | 0 |
double | 0 |
pointer | NULL |
6. Statik Değişkenler
Program işlediği sürece bellekte kendisine belirli bir yer ayrılan değişken türüdür. Program çalışma süresince sadece bir kere tanımlanır. Örneğin bir fonksiyon içerisindeki bir statik değişken fonksiyon ne kadar çağrılırsa çağrılsın bir kez tanımlanır.
7. Auto Deyimi
Auto
deyimi eğer değişken tanımlanırken değer alıyorsa kullanılır. Örneğin bir double değişkene 5.5 değerini vereceksek derleyici tanımlayacağımız değişkenin zaten double olduğunu çözebilir. Örneğin:
auto
kullanıldığı zaman, derleyiciye, tanımlanan değişkenin atanacak değerin türü olacağı bildirilir. Bu işlem fonksiyon parametreleri için kullanılmaz. Örneğin:
8. C++ extern Değişken Tanımlama
Bir değişken beyanı derleyiciye verilen tip ve isimde bir değişken bulunduğunu ve böylece derleyicinin değişken hakkında tam bir ayrıntıya ihtiyaç duymadan daha fazla derleme için ilerlediğini garanti eder. Bir derleme bildiriminin yalnızca derleme sırasında anlamı vardır, derleyici programa bağlandığı sırada gerçek değişken tanımına ihtiyaç duyar.
Değişken bildirimi, birden fazla dosya kullandığınızda ve değişkeninizi, programın bağlandığı sırada kullanılabilen dosyalardan birinde tanımladığınızda kullanışlıdır. Herhangi bir yerde bir değişken bildirmek için extern anahtar sözcüğünü kullanmalısınız. C++ farklı bloklarda bir değişkeni birden çok kez bildirme imkanı sunar, ancak bir dosyada, bir işlevde veya bir kod bloğunda yalnızca bir kez tanımlanabilir.
Aynı kavram, function beyanı sırasında da yapılır. Function beyanı önce yapılıp, fonksiyon her hangi bir yerde tanımlanabilir. Aşağıdaki örnek bu kavramı açıklamaktadır.
Last updated