Tekil Mesaj gösterimi
Alt 13 Kasım 2009, 11:55   #2
Çevrimiçi
toXic Doğrulanmış Üye
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Değişmezler




Temel Veri Tipleri Ve Tanımlar


Bir değişken ismi, değişkenin alacağı değerlerin türü ve işlevini yansıtacak şekilde dikkatlice seçilen bir tanıtıcı sözcüktür. Genelde, kalan_gunler veya kalanGunler şeklinde bir değişken ismi x132 gibi bir isme tercih edilmelidir. Değişken isimlerinde büyük harfler yerine küçük harflerin kullanılması alışılagelmiştir.
Bir C programında, kullanılmadan önce, tüm değişken ve fonksiyonların tanımı veya bildirimi yapılmalıdır. Temel veri tiplerinin, yani tamsayı, kayan noktalı sayılar ve karakterlerin bildiriminde kullanılan anahtar sözcükler şunlardır:
inttamsayısigned, unsignedişaretli veya işaretsiz tamsayılarshort, long, long longkısa veya uzun tamsayılarfloat, double, long doubletek, çift veya dörtlü duyarlıklı kayan noktalı sayılarcharkarakter
Karakter dizisi tanımlamak için bir anahtar sözcük olmadığına dikkat edin; bunun için elemanları karakter olan normal diziler kullanılır.
Bir tanım, bir tip ismi ile tanımlanmakta olan nesnelerin virgülle ayrılmış listesinden oluşur ve bir noktalı virgül ile sona erer. Aşağıda birkaç örnek tanım gösterilmiştir:
int x;int x1, y1, z1;long d, d1;char c;char c1, c2, c3;float a;float a1, a2, a3;int u[3];float k[10*20]
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
on iki tanımda, tek boyutlu ve üç elemanlı bir tamsayı dizisi ile tek boyutlu ve 200 elemanlı kayan noktalı sayılardan oluşan bir dizi tanımlanmıştır. Dizinin boyunun derleme esnasında hesaplanabilen değişmez bir ifade olduğuna dikkat edin.
Aşağıda görüldüğü gibi, değişkenler tanımlandıkları zaman ilk değerleri de verilebilir:
int x = 0;int x1 = 10, x2 = 20, x3 = 30, x4 = 60 * 60; /* ilk deger degismez bir ifadedir */char c1 = 'a', c2 = 'z';Buna ilkleme diyoruz. İlk değer olarak bir ifadenin de yazılabileceğine dikkat edin. Tanımlanan değişkenlerin ilklenmesi iyi bir alışkanlıktır.
İsimlendirilmiş değişmezler, yani değerleri değiştirilemeyecek olan değişkenler, const tip niteleyicisi kullanılarak tanımlanırlar:

const int x = 100;const char ys = '\n';const float a = 123.45;const double pi = 3.1415926535897932384626433832795;Bu tip değişmez “değişken”lerin const ile tanımlanmasının en azından iki avantajı vardır:
  1. Programcı yanlışlıkla bu tip bir değişkene atama yapmaya kalkar veya değerini değiştirebilecek bir şekilde kullanmaya kalkarsa, derleyici onu uyaracaktır.
  2. Çok kullanıcılı sistemlerde bu tip değişkenlerin ortak ve değiştirilemez bir bellek kesimine yüklenmesi sağlanabilir.
Aynı anda başka bir süreç (program) tarafından kullanılan veya değiştirilebilen değişkenlerin, derleyicinin olası bir eniyileme yapmasını engellemek için, volatile tip niteleyicisi kullanılarak tanımlanması gerekmektedir. Örneğin, çok kullanıcılı ortamlarda iki değişik süreç tarafından ortak kullanılan bir değişkenin volatile tanımlanması gerekir.
Tanımlanmış bir değişken, bir deyim içinde ismi verilerek anılır. Dizi elemanlarına ulaşmak için çeşitli yollar olmasına rağmen, çoğu zaman dizi isminin arkasına köşeli parantezler içinde indis belirtilerek kullanılırlar. Eleman sayısı BOY olan bir dizi için indisin alabileceği değerler 0’dan BOY-1’e kadar değişir. Yani, yukarıda tanımlanmış olan u tamsayı dizisinin elemanları u[0], u[1] veya u[2] şeklinde kullanılabilir. İndisin her zaman değişmez bir tamsayı olmasına gerek yoktur; genelde bir ifade olur. Yani, u[x+5] geçerli bir kullanımdır. Doğal olarak, eğer “x+5” ifadesinin değeri 0, 1 veya 2 değilse, beklenmeyen sonuçlar elde edilebilir. Bu tip kullanımları kontrol altında tutmak tamamen programcının sorumluluğundadır.
Değişik tiplerde tanımlanmış değişkenler için, mevcut derleyiciler tarafından tipik olarak ayrılan bellek miktarı ile alt ve üst limit değerleri aşağıdaki tabloda verilmiştir. Tip tanımında parantez içine yazılmış kısmın belirtilmesine gerek yoktur, örneğin signed short int ile short aynı anlama gelir.
Tip tanımı16 bit
ortam32 bit
ortam64 bit
ortamchar111signed char1s1s1sunsigned char1u1u1u(signed) short (int)2s2s2s(signed) int veya signed (int)2s4s4s(signed) long (int)4s4s8s(signed) long long (int)--8s8sunsigned short (int)2u2u2uunsigned (int)2u4u4uunsigned long (int)4u4u8uunsigned long long (int)--8u8ufloat4f4f4fdouble8f8f8flong double8f12f/16f16f1 : Bir bayt, (gerçeklemeye bağlı olarak) -127..127 veya 0..255.
1s : Bir bayt, -127..127.
1u : Bir bayt, 0..255.
2s : İki bayt, -215..215-1 = -32768..32767.
2u : İki bayt, 0..216-1 = 0..65535.
4s : Dört bayt, -231..231-1 = -2147483648..2147483647.
4u : Dört bayt, 0..232-1 = 0..4294967295.
8s : Sekiz bayt, -263..263-1 = -9223372036854775808..9223372036854775807.
8u : Sekiz bayt, 0..264-1 = 0..18446744073709551615.
4f : Dört bayt, -1038..-10-38, 0, 10-38..1038 (yaklaşık 6 ondalık rakam duyarlık).
8f : Sekiz bayt, -10308..-10-308, 0, 10-308..10308 (yaklaşık 15 ondalık rakam duyarlık).
12f : Oniki bayt, -104932..-10-4932, 0, 10-4932..104932 (yaklaşık 18 ondalık rakam duyarlık).
16f : Onaltı bayt, -104932..-10-4932, 0, 10-4932..104932 (yaklaşık 33 ondalık rakam duyarlık).

Tamsayılar ve kayan noktalı sayılar için her bilgisayarda farklı olabilecek bu özellikler, tam olarak limits.h ve float.h adlı başlık dosyalarında tanımlanmıştır. Birtakım varsayımlar yapmak yerine, bu başlık dosyalarında tanımlanmış bulunan değişmezlerin kullanılması özellikle önerilir. Başlık dosyaları için bir sonraki kısma ve ayrıca [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]’e bakınız.)

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklamver bizimmekan