C Veri Tipleri - Değişken Tanımlama Kuralları

MertkanElpeze

Asistan
Katılım
6 Ekim 2010
Mesajlar
151
Reaksiyon puanı
4
Puanları
18
KAYNAK : http://wp.me/p1dKsd-7D

Daha önce C Programlama Diline dair bir makale yazmıştım. Tabiki yazalı biraz uzun zaman oldu ama gördüğüm kadarıyla Blog sayfama arama motoru kullanarak ulaşan kullanıcılar genelde C Veri Tipleri ve Değişken tanımlama kurallarına dair aramalar yapıyor. Bu yüzdende sizin için böyle bir yazı hazırlamak istedim.


1- C Programlama dilinde bir değişken tanımlarkan çeşitli kurallara uymak zorundasınız. Mesala değişkeninizin ismi C'de kullanılan anahtar kelimelerle olamaz mesala void adında bir değişken tanımlayamazsınız ki zaten başka programlama dilleriyle biraz haşır neşir olduysanız bunların mümkün olmadığını muhtemelen biliyorsunuzdur. Ama genede biraz bahsetmekte fayda var. Aşağıdaki listede değişken ismi olarak kullanamayacağınız bazı keyword'ler bulunmakta.
fortran registar switch if else typedef volatile while static sizeof
pascal short return union unsigned Huge int default for enum
default const char cdel case break auto

2- Bir diğer kural tanımladığınız değişkenin toplam karakter sayısının 32 ve 32'den az olmasıdır. Zaten 32 karakterlik bir değişken ismini yazmak çokta mantıklı gözükmüyor . Ama bazen rastgele değişken ürettiğimiz durumlarda bu kuralı dikkate alırsak olası bir Error önlenmiş olacaktır.
3- Değişkenlerin başına '_' karakteri (alt çizgi) koymaktan kaçının zira sistem değişkenleri genelde bu şekilde başlar. Alt çizgi ile bir değişken yazdığınızda kuşkusuz çalışacaktır ama Programlamanın temellerindeki ana kurallardan biridir buda :)
4- Değişkenlerin başında ortasında veya herhangi bir yerinde özel karakter kullanmak yasaktır mesala yıldız karakteri aynı zamanda pointer'lar için kullanıldığından değişken tanımlamasında kullanıldığında direkERROR'dur. Gerekmedikçe karakter kullanmayın veya illa kullanmanız gerekiyorsa alt çizgi'yi tercih edin. Zaten tercih etmezsenizde hata ile karşılacaksınız
[h=3]Değişken Tipleri - Veri Türleri [/h]Tam Sayılar (Integer) : Sayısal işlemler kullanılacağı zaman genellikle integer yani int tipini tercih ediyoruz. Tabiki Para Birimleri veya Ondalıklı sayılar hariç. Tamsayılar bildiğiniz gibi "15" , "105" , "999", "-195" tarzı sayılar. Tam Sayı değişkenlerinde onlu,sekizli ve onaltılı diye üç seçenek vardır. Yani değer arttıkça tipte değişmek zorundadır. Eğer onlu bir değer varsa Decimal, Sekizli bir değer için Octal, Onaltılı bir değer için ise Hexadecimal kullanmalısınız. Demin bahsettiğim para birimi int ile olmuyorsa biraz düşünün ve Decimal mi Yoksa Hexadecimal mi ya da Octal mı olduguna karar verin :)
Short Türü : Short adı üzerinde 'kısa' değer aralığıda -32.768 ile 32.767 arasında değişmektedir. Bellekte 2 Byte yer tutar. Yani bu durumda para ve yüksek matematiksel hesap işlemlerinde kullanılması saçma gereksiz ve imkansızdır.
Long Türü : C programlama dilinin resmi standartlarında bu veri tipi sayısal alanı geliştirilmiş veri tipi olarak anlatılmaktadır. Bellekte 32 bit yani 4byte yer tutar. değer aralığı ise -2.147.482.648 ile 2.147.482.467 arasındadır.
İşaretsiz Tamsayılar (Unsigned Integer) : İşaretsiz sayılar adından biraz anlaşılabilir aslında. Eksi değer almayacağından emin olduğumuz yerlerde bu tipi kullanmamızda yarar var. Bu sayede hem bellekte fazla yer tutulmasına engel oluruz hemde C'yi daha etkin kullanmış oluruz. Ayrıca sayıyı + yönünde çoğatlmış oluruz. Örnek olarak unsigned short : 0 ile 65535 arasındadır. Yani normal short'un eksi değeri kadar üstüne ekleyerek pozitif yönde kullanmış olduk. Değerken kapasitemizde doğal olarak iki katına çıkmış oldu.
Char - Karakter : Char bellekte 1 byte yer tutar ve sadece bir tek karakter kabul edilir mesala karşımıza hep çıkan şey olan "Devam etmek için herhangi bir tuşa basın." Cümlesi. Burada herhangi bir karaktere basılıyor ve sadece o karakter algılanıyor. Veya gene normal hayatta çok karşılaştığımız (daha çok bios'ta) "Çıkmak istiyor musunuz ? Y/N" sadece Y ve N tuşuna basarak o karakteri algılatıyoruz.
Float - Ondalıklı Sayılar : 12,4 gibi sayıları tutmamızı sağlayan bu değişken tipi ise bellekte 32bit yani 4byte yer tutar. Gerçek hayatta genelde not ortalamalarında ve Fiyat,Ücretlerde çokça kullanılır.
DEĞİŞKEN TÜRÜBİT GENİŞLİĞİDEĞİŞKENİN SINIRI
Char8-128/+127
Unsigbed Char80/+255
Signed Char8-128/+127
Int16-32768/+32767
Unsigned Int160-65535
Short16-32768/+32767
Unsigned Short160/65535
Double641.7E-308/1.7E+308
 

sithlord

Öğrenci
Katılım
6 Ekim 2011
Mesajlar
38
Reaksiyon puanı
1
Puanları
0
Selam
Yukaridaki degerler 32bit bir derleyici icin verimis sanirim. 64 bit bir bilgisayarda gcc version 4.6.1 derleyicide integer 4 byte, long 8 byte, long long 8 byte ve double 8 byte uzunlugunda olacaktir.
 

MertkanElpeze

Asistan
Katılım
6 Ekim 2010
Mesajlar
151
Reaksiyon puanı
4
Puanları
18
Malum bir kac yil oncesine kadar isletim sistemleri de dahil olmak uzere 64 bit sistemleri pek kullanmiyorduk. Bugunlerde bile 32bit derleyiciler 64bit'e nazaran bir hayli fazla. Dolayisiyla dediginiz dogru.
 

keyloger

Rektör
Katılım
4 Ocak 2008
Mesajlar
13,268
Reaksiyon puanı
235
Puanları
63
c99'la gelen bool tipi, seni seviyoruz... :)
 
Katılım
31 Aralık 2007
Mesajlar
17,485
Reaksiyon puanı
188
Puanları
63
C'yi hiç sevmedim sevmicem de. OOP desteklemeyen diller eziyet geliyor bana niyeyse...
 
Üst