C Programlama Dili Sabitler (const, #define) ve Farkları
C Programlama Dili Sabitler
- C sabitleri, normal değişkenler gibidir. Ama bir kez değer atandıktan sonra program tarafından değiştirilemez.
- Sabit değerlerde kullanılır. Bu sayede değiştirilmesine izin verilmez. Örneğin Pi sayısı.
- Sabit değerlerin veri tipleri kısıtlaması yoktur. Her veri tipindeki değerleri sabit olarak tanımlayabilirsiniz.
Örnek syntax;
const veriTipi değişkenAdi;
const veriTipi *değişkenAdi; |
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> int main() { const float PI = 3.14159; // PI = 5; Sabit değer (const) değiştirilemez. Hata verir printf("%f", PI); return 0; } |
C Programlama Dili Backslash ‘\’ Sabit Karakterleri
- C dilinde özel anlamı olan bazı karakterler vardır.
- Bu özel anlamı olan fonksiyonlardan faydalanmak için sembollerin önünde BackSlash ‘\’ olmalıdır.
- Aşağıda verilen özel karakterler ve onların açıklamaları bulunmaktadır.
BackSlash ‘\’ Karakterler | Açıklama |
---|---|
\b | Bir önceki karakteri siler (Backspace) |
\f | Bir sonraki sayfanın başına geçer (form feed) |
\n | Bir alt satıra geçer (newline) |
\r | Satır başı yapar (carriage return) |
\t | Yatay TAB (Horizontal TAB) |
\” | Çift tırnak (“) karakterini ekrana yazmak için |
\’ | Tek tırnak (‘) karakterini ekrana yazmak için |
\\ | BackSlash ‘\’ karakterini ekrana yazmak için |
\v | Dikey TAB (Vertical TAB) |
\a | Uyarı sesi üretir (Alert) |
\? | Soru işareti ‘?’ karakterini ekrana yazmak için |
\N | Sekizlik tabanda sabit (N sekizlik tabanda bir sabittir.) |
\XN | Onaltılık tabanda sabit (N onaltılık tabanda bir sabittir.) |
C Programlama Dilinde Sabitler
C programlama dilinde sabitler aşağıdaki gibi tanımlanır.
- ‘const’ anahtar kelimesi ile
- ‘#define’ önişlemci bildirimi ile
C Programlama Dilinde Sabitler Örnekleri:
Örnek 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <stdio.h> void main() { const int SINIR = 500; const float PI = 3.141; const char ILKHARF = 'A'; const char BOLUM[] = "Bilgisayar Muhendisligi"; const char ALTSATIRAIN = '\n'; printf("Sinir degeri: %d\n", SINIR); printf("Pi degeri: %f\n", PI); printf("Alfabenin ilk harfi: %c\n", ILKHARF); printf("Bolum adi: %s\n", BOLUM); printf("C programlama dili %cCkaynak\n", ALTSATIRAIN); return 0; } |
Çıktı:
Sinir degeri: 500 Pi degeri: 3.141000 Alfabenin ilk harfi: A Bolum adi: Bilgisayar Mühendisliği C programlama dili Ckaynak |
Örnek 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <stdio.h> #define SINIR 500 #define PI 3.141 #define ILKHARF 'A' #define BOLUM "Bilgisayar Muhendisligi" #define ALTSATIRAIN '\n' void main() { printf("Sinir degeri: %d\n", SINIR); printf("Pi degeri: %f\n", PI); printf("Alfabenin ilk harfi: %c\n", ILKHARF); printf("Bolum adi: %s\n", BOLUM); printf("C programlama dili %cCkaynak\n", ALTSATIRAIN); return 0; } |
Çıktı:
Sinir degeri: 500 Pi degeri: 3.141000 Alfabenin ilk harfi: A Bolum adi: Bilgisayar Muhendisligi C programlama dili Ckaynak |
C Programlama Dili #define ve const arasındaki önemli farklılık:
Birden çok diziyi belirli bir eleman sayısı ile sınırlandırmak istediğinizde bir sabit değer oluşturup dizileri o eleman sayısı kadar sınırlandırabilirsiniz. Bu sayede kodlar daha dinamik ve düzenlenmesi daha kolay olur. Bu şekilde yazılmak istenilen kodlarda #define sabiti kullanılmalıdır. const sabiti ile dizi sınırlandırılması yapılmaz. Aşağıda bu konuyla ilgili bir örnek verilmiştir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <stdio.h> #define SINIR 500 void main() { const int SINIR2 = 500; int sayilar[SINIR] = {1, 2, 3, 4}; // int sayilar2[SINIR2] = {1, 2, 3, 4}; Bu şekilde tanımlama yapılmaz. Hata verir printf("%d", sayilar[0]); // printf("%d", sayilar2[0]); Hata verir return 0; } |
Yukarıdaki kodda #define ile tanımlanmış SINIR değişkeni dizinin boyutunu belirtirken kullanabilirsiniz. Ama const ile oluşturulmuş sabit değer dizinin sınırını belirtmek için kullanılamaz (variable-sized object may not be initialized hatası verir).
Leave a reply
Lütfen yorum için giriş yap ve yakayıt ol Teşekkürler .