Const Anahtar Sözcüğü

Const anahtar sözcüğü programcının derleyiciye ben bu değişkeni değiştirmeyeceğim diye söz vermesi durumdur. Const anahtar sözcüğü ile tanımlanan bir değişkeni değiştirmeye çalıştığımızda derleyici hatası ile karşılaşırız.

const int sayi = 213;
int const sayi = 213;

Bu iki ifade de aynı anlama gelmektedir. Bu şekilde tanımlanan bir değişkenin değerini ilerleyen süreçte değiştirmeye çalıştığımızda derleyici hatası ile karşılaşacağımızı belirtmiştik.

Örneğin:

const int sayi = 213;
sayi = 9696; // HATA

Pointerlar ile const anahtar sözcüğünün kullanımıyla ilgili bilmemiz gereken bazı durumlar bulunmaktadır.

int const *data = 213; ifadesinde const olan pointerın gösterdiği yerdir. Dolayısıyla pointerın değerini değiştirebiliriz.
data++; // hata değil
*data++; // HATA

const int *data ve int const *data ifadelerinin her ikisi de aynı anlama gelmektedir. Her ikisi de pointerın gösterdiği değerin const olduğunu belirtmektedir. Peki pointerı nasıl const yapacağız ?

Bunun için
int *const data; // şeklinde tanımlama yapmamız gerekmektedir.

Dolayısıyla her ikisini de const yapmak istiyorsak const int *const data veya int const *const data şeklinde bir tanımlama yapabiliriz

Const anahtar sözcüğünün kullanımı ile ilgili yazım bitmedi. Bu konunun devamına ilerleyen günlerde farklı bir yazı altında değineceğim.

Kendime not: extern “C”
void foo(int sth) const;
🙂