20.7 Önceden Tanımlanmış Sembolik Sabitler
20.7 Önceden Tanımlanmış Sembolik Sabitler
Bazı sembolik sabitler derleyici tarafından önceden tanımlanmıştır. Bu sabitlerden bazıları Tablo 20.1 de verilmiştir.
Tablo 20.1: Önceden tanımlı bazı sembolik sabitler
Sabit ismi | Açıklama |
__LINE__ | Önişlemci bu sabit yerine kaynak koddaki o anda bulunan satır numarasını yerleştirir. |
__FILE__ | Kaynak dosyanın ismin tutar. |
__DATE__ | Önişlemci bu sabit yerine derlemenin yapıldığı zaman tarihi (ay gün yıl formatında) yazar. |
__TIME__ | Önişlemci bu sabit yerine derlemenin yapıldığı zaman zamanı (sa:dak:sn gün yıl formatında) yazar. |
__STDC__ | C dilinde kullanılan kimi anahtar sözcükler standart değildir. Derleyici eğer yalnızca standart C’nin anahtar sözcüklerini destekliyorsa bu sabit tanımlı varsayılır. |
M_PI | Pi sayısını tutar (M_PI = 3.14159265358979323846). Ayrıca bkz: math.h |
M_E | e sayısını tutar (M_E = 2.7182818284590452354). Ayrıca bkz: math.h |
RAND_MAX | Rastgele sayı üretec fonksiyonu rand() ile döndürlen en büyük sayıyı tutar. (32 bit işletim sitemi için: RAND_MAX = 2147483647). Ayrıca bkz: stdlib.h |
Aşağıdaki örnekleri inceleyiniz:
Program 20.8: C dilindeki bazı tanımlı sabitler
1 2 3 4 5 6 7 8 9 10 11 |
/* 20prg08.c: Sembolik sabitler */ #include <stdio.h> main() { printf("Satir No : %d\n",__LINE__); printf("Dosya adi : %s\n",__FILE__); printf("Tarih : %s\n",__DATE__); printf("Saat : %s\n",__TIME__); } |
ÇIKTI
1 2 3 4 |
Satir No : 7 Dosya adi : 20prg08.c Tarih : Sep 21 2008 Saat : 01:58:56 |
Program 20.9: C dilindeki bazı tanımlı sabitler
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/* 20prg09.c: Sembolik sabitler */ #include <stdio.h> #include <math.h> #include <stdlib.h> #ifndef __STDC__ #error Bu derleyici ANSI C degil. #endif #ifndef RAND_MAX #error RAND_MAX tanımlı degil. #endif main() { double r = (double) rand()/RAND_MAX; double ikiPi = 2.0*M_PI; double birBoluE = 1.0/M_E; printf("r = %lf\n",r); printf("ikiPi = %lf\n",ikiPi); printf("birBoluE = %lf\n",birBoluE); } |
ÇIKTI
1 2 3 |
r = 0.840188 ikiPi = 6.283185 birBoluE = 0.367879 |