Tür dönüşümü
- C kursu
- Başlangıç
- Ders 17/116
- 4 dk
Örtük ve açık (cast) tür dönüşümünü öğrenirsin.
Tür dönüşümü
Tür dönüşümü, bir değeri başka bir türe çevirmektir. İki tür dönüşüm vardır:
- Örtük: derleyici otomatik yapar (örneğin
int x = 3.7;) - Açık: türe dönüştürme işleciyle yapılır (
(int)3.7→3)
Açık dönüşüm, cast olarak da bilinir. Daha güvenlidir; çünkü niyetinizi açıkça belirtir ve uyarıları bastırır.
Dönüşüm ilkeleri
C'te tür dönüşümü belirgin ilkelere bağlıdır:
int'tendouble'a: güvenli, veri kaybı yokdouble'danint'e: ondalık kısım kaybolur- Daha küçük türe dönüşümde taşma riski vardır
Bölme işleminde tür uyumu özellikle önemlidir: 7 / 2 sonucu 3'tür (int bölme), ama 7.0 / 2 sonucu 3.5'tir (double bölme).
Uygulama Cast ile yazdır
Aşağıdaki programa (int) d ile cast yapıp int'e çeviren satırı ve printf çağrısını ekle. Çıktı 9 9.700000 olmalı.
Başlangıç kodu
#include <stdio.h>
int main(void) {
double d = 9.7;
// int'e dönüştür ve printf ile yazdır
return 0;
}Örnek çözüm
#include <stdio.h>
int main(void) {
double d = 9.7;
int i = (int) d;
printf("%d %lf", i, d);
return 0;
}Beklenen çıktı
9 9.700000
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 (int)3.7 ifadesi ne döner?
- 4
- 3 Doğru cevap
- 3.7
- 0
Açıklama: (int)3.7 ondalık kısmı atar ve 3 verir.
2 Cast işleci
int x = (____) 3.7;
int x = (int) 3.7;
Açıklama: (int) işleci değeri int'e dönüştürür.
3 Dönüşüm kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
(int) |
int'e çevir |
(double) |
double'a çevir |
örtük |
Otomatik |
açık |
Cast |