Menu
Coddy logo textTech

Tür Dönüştürme 1. Bölüm

Coddy'nin C Journey'sinin Temeller bölümünün bir parçası. Ders 13 / 63.

C dilinde tür dönüştürme, bir değeri bir veri türünden başka bir veri türüne dönüştürmenizi sağlar. Bu, farklı veri türleri arasında işlemler gerçekleştirmeniz gerektiğinde kullanışlıdır.

Tür dönüştürmenin iki ana türü vardır:

  1. Örtük dönüştürme (otomatik)
  2. Açık dönüştürme (manuel)

Örtük dönüştürmeyle başlayalım:

Örtük tür dönüşümü, daha küçük bir veri türünden daha büyük bir veri türüne dönüştürme sırasında otomatik olarak gerçekleşir:

int num = 10;
double decimal_num;

// int'ten double'a örtük dönüştürme
decimal_num = num;

Yukarıdaki kodu çalıştırdıktan sonra decimal_num değeri 10.0 olacaktır

Bu, bir double değerinin veri kaybı olmadan bir int türünün tüm olası değerlerini depolayabilmesi sayesinde çalışır. Dönüştürme güvenlidir, bu nedenle C bunu otomatik olarak yapar.

Yaygın örtük tür dönüştürme yolları:

  • char → int → long → float → double

Şimdi açık tür dönüşümüne bakalım:

Açık tür dönüşümü, dönüştürmek istediğiniz değerin önüne hedef veri türünü parantez içinde yazarak manuel olarak yapılır. Veri kaybının meydana gelebileceği daha büyük bir veri türünden daha küçük bir türe dönüşüm yapılırken bu gereklidir:

double decimal_num = 5.65;
int num;

// double'dan int'e açık tip dönüşümü
num = (int)decimal_num;

Yukarıdaki kodu çalıştırdıktan sonra num değeri 5 olacaktır

double türünden int türüne dönüştürme yapılırken ondalık kısmın yuvarlanmadığına, kesildiğine dikkat edin. Açık tür dönüştürme sözdizimi şöyledir:

(target_type) value

Bu dönüşüm veri kaybına yol açabileceğinden C, bunu açıkça yapmanızı gerektirir. Bu, derleyiciye olası veri kaybının farkında olduğunuzu bildirir.

challenge icon

Görev

Kolay

Şunları yapan bir program yazın:

  1. Bir double değişkeni result tanımlar ve değerini 5.65 olarak ayarlar
  2. Bir int değişkeni grade tanımlar
  3. Açık tür dönüştürme kullanarak result değerini grade değişkenine atar
  4. grade değerini, printf kullanarak "The grade is: " mesajıyla yazdırır

Kendin dene

#include <stdio.h>

int main() {
    double result = 5.65;
    int grade;
    
    // result (double) değerini grade (int) değerine dönüştürmek için açık casting kullan
    
    printf("The grade is: %d\n", grade);
    
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online C derleyicisi