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).