Konular

Tip Dönüşümleri

Bir işleç, işlenen(ler)ine uygulandığı zaman, belirli bir tipten bir değer oluşturur. Meydana çıkan değerin tipi, işlecin işlenen(ler)ine, işlecin kendisine ve tip dönüşümü kurallarına bağlıdır.

Örneğin, x+y ifadesinin değeri hesaplandığı zaman, x ve y tamsayı ise ortaya çıkan değerin tipi de tamsayı olur. C dilinde işleçlerin çoğu, değişik tiplerde işlenenleri kabul ettikleri için genel olma özelliğini taşır.

Örneğin, yukarıdaki ifadede eğer y double olsaydı, ortaya çıkacak değer de double tipinde olacaktı.

Değişik tipte işlenenlerin bulunduğu ifadelere karışık-tip ifadeler denir. Karışık-tip ifadelerin değerleri hesaplandığında, ara ve/veya sonuç değerlerin tipleri, ya dolaylı olarak otomatik tip dönüşümüyle belirlenir yada açık olarak kalıp kullanılarak kontrol edilir.

Değişik tipten iki işlenen varsa, C dili kurallarına göre, otomatik tip dönüşümü uygulanır. Bu kurallar şöyledir.

 

Tip dönüşümü üzerine birkaç örnek. i, j’nin int, x’in float, d’nin double ve c’nin char olduğunu kabul edin.

i = j + x + d;
c = c + 'A' - 'a';

 
İlk ifadede, j float’a dönüştürülür, j+x’in değeri double’a dönüştürülür ve j+x+d’nin değeri double’dan int’e çevrilir. İkinci ifadede, c’deki küçük harfi büyüğe çevirmek için tamsayı aritmetiği kullanılır.


Otomatik tip dönüşümü, programlarda önemli bir hata kaynağı olduğu için, tip dönüşümünün, açıkça kalıplar kullanılarak, kontrol edilmesi önerilir. Bir kalıp, basitçe, ifadenin önüne konulan parantez içine alınmış bir tiptir; yani, (tip) ifade ifadenin tipinin parantez içine alınmış olan tipe dönüştürüleceğini gösterir. Gerçekte, parantez içine alınmış olan tip, ifadenin değerini amaçlanan tipe dönüştüren özel bir işleçtir. Bu işlecin önceliği diğer tekli işleçlerin önceliği ile aynıdır.

x, y, z’nin float, i, j’nin int olduğunu varsayın. y ve z’nin hesaplanmasındaki farka dikkat edin.
 

Tip Dönüşümleri

Örnek

void TipDonusumOrnek(){
   
    float kusuratlisayi=3.345;
    char karakter='A';
    int donusturulmus;  //donusturulmus degeri gösterir
   
    donusturulmus=(int)kusuratlisayi;
   
   
    printf("n kusuratlisayiyi (%f) integera cevirince %d", kusuratlisayi,donusturulmus);
   
    donusturulmus=(int)karakter;
   
   
    printf("n char (karakter degiskenini) (%c) integera cevirince %d", karakter,donusturulmus);
   
     printf("n char (karakter degiskenini) (%c) integera cevirince %d", karakter, (int)karakter);
     
     printf("n int 67sayisini chara cevirince %c", (char)67);
     
     float x=72.45;
     
     printf("n float tipindeki %f sayisinin char karsiligi %c", (char)x);
     
     printf("n float tipindeki %f sayisinin char karsiligi %c", (char)(int)x);
     
}

 

Tip Dönüşümleri

Yorumunuzu Ekleyin

C Programlama Dilinde Değişkenler

Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına ihtiyacı vardır. İşte değişkenler bu bellek adreslerine verilen isimlerdir.

11,298 Okunma 1 Yorum 12/05/2015 00:26:24 22/05/2015 19:41:38

#define Ve #include Önişlemci Tanımlamaları

Hemen bütün C derleyicileri, özel önişlemci emirlerini tanıyan bir önişlemciyi yapılarında bulundururlar.

10,216 Okunma Henüz yorum yapılmamış 22/05/2015 19:27:09 29/05/2015 14:10:10

C Programlama printf() Fonksiyonu

Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur.

9,046 Okunma Henüz yorum yapılmamış 22/05/2015 18:53:57 03/06/2015 15:57:27

DEV C++ Kurulumu

C çalışmak için bir editöre ve Derleyiciye ihtiyacınız var. Belkide en kolay çözüm DEV C++ kullanmak. Çünkü ücretsiz ve GNU lisansı ile dağıılmakta ve Mingw/GCC derleyiciside içerisinde bulunmaktadır.

8,972 Okunma Henüz yorum yapılmamış 12/05/2015 14:32:18 12/05/2015 14:33:21

C Diline Giriş

Blok Yapısı, Açıklamalar, Boşluklar, Kapsam

8,353 Okunma Henüz yorum yapılmamış 15/05/2015 19:07:26 29/05/2015 14:03:24

C Fonksiyon Yapısı

7,987 Okunma Henüz yorum yapılmamış 17/06/2015 18:31:11 17/06/2015 18:46:12

Operatörler

C programlamada toplama, çıkarma, çarpma, mod alma operatörleri

7,546 Okunma Henüz yorum yapılmamış 29/05/2015 16:49:24 29/05/2015 16:49:35

Yükleniyor...