Menu
Coddy logo textTech

Tür Takma Adları için typedef Kullanımı

Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası. Ders 58 / 63.

C programlamada bazen, mevcut veri tipi adlarının ya çok uzun olduğu ya da programınızın amacını net bir şekilde ifade etmediği durumlarla karşılaşırsınız. typedef anahtar kelimesi, mevcut veri tipleri için yeni adlar oluşturmanıza olanak tanıyarak bir çözüm sunar.

typedef'i bir veri tipi için takma ad veya rumuz oluşturmak gibi düşünün. Temel sözdizimi basittir:

typedef existing_type new_name;

Örneğin, int veri tipi için daha açıklayıcı bir isim oluşturabilirsiniz:

typedef int Integer;

Bu bildirimden sonra, normalde int kullanacağınız her yerde Integer kullanabilirsiniz. Hem int count = 5; hem de Integer count = 5; tam olarak aynı şeyi gerçekleştirir, ancak ikinci sürüm belirli bağlamlarda daha anlamlı olabilir.

Bu özellik, karmaşık veri tipleriyle çalışırken veya kodunuzu daha fazla kendi kendini belgeleyen ve bakımı daha kolay hale getirmek istediğinizde özellikle değerli hale gelir.

challenge icon

Görev

Kolay

Bir sıcaklık izleme sistemi için anlamlı tür takma adları oluşturmak üzere typedef kullanımını gösteren bir C programı oluşturun. Programınız şunları yapmalıdır:

  1. typedef kullanarak aşağıdaki tür takma adlarını oluşturun:
    • float için Temperature adında bir tür takma adı oluşturun
    • int için SensorID adında bir tür takma adı oluşturun
    • int için Status adında bir tür takma adı oluşturun
  2. Ana fonksiyonda (main function):
    • SensorID türünde sensor adında bir değişken tanımlayın
    • Temperature türünde currentTemp adında bir değişken tanımlayın
    • Temperature türünde threshold adında bir değişken tanımlayın
    • Status türünde alertStatus adında bir değişken tanımlayın
    • Girdiden şu sırayla dört değer okuyun: sensör ID, mevcut sıcaklık, eşik sıcaklığı ve uyarı durumu
    • Bu girdi değerlerini ilgili değişkenlere atayın
    • Sensör bilgilerini tam olarak şu formatta yazdırın:
      • Sensor ID: [sensor_id]
      • Current Temperature: [current_temp]
      • Threshold: [threshold_temp]
      • Alert Status: [alert_status]
    • Sıcaklık analizini gerçekleştirin ve sonuçları yazdırın:
      • Sıcaklık farkını (mevcut sıcaklık eksi eşik) hesaplayın ve bunu difference adında bir Temperature değişkeninde saklayın
      • Farkı tam olarak şu formatta yazdırın: Temperature Difference: [difference]
      • Mevcut sıcaklığa göre sıcaklık kategorisini belirleyin:
        • Sıcaklık 0.0'ın altındaysa: Category: Freezing yazdırın
        • Sıcaklık 0.0 ile 25.0 arasındaysa (dahil): Category: Normal yazdırın
        • Sıcaklık 25.0'ın üzerindeyse: Category: Hot yazdırın
      • Bir uyarının tetiklenip tetiklenmeyeceğini kontrol edin:
        • Mevcut sıcaklık eşikten büyükse VE uyarı durumu 1 ise: Alert: Temperature exceeded threshold! yazdırın
        • Aksi takdirde: Alert: No alert triggered yazdırın

Bu zorluk, typedef kullanımının kodu nasıl daha fazla kendi kendini belgeleyen ve anlaşılması daha kolay hale getirdiğini göstermektedir. Programınız boyunca int ve float gibi genel türler kullanmak yerine, her bir değişkenin amacını açıkça belirten SensorID, Temperature ve Status gibi anlamlı isimler kullanacaksınız. Bu yaklaşım kodun okunabilirliğini artırır ve programlarınızın bakımını ve değiştirilmesini kolaylaştırır.

Kendin dene

#include <stdio.h>

// TODO: Burada typedef takma adları oluşturun

int main() {
    // TODO: Typedef takma adlarını kullanarak değişkenleri tanımlayın
    
    // Giriş değerlerini oku
    scanf("%d", &sensor);
    scanf("%f", &currentTemp);
    scanf("%f", &threshold);
    scanf("%d", &alertStatus);
    
    // TODO: Sensör bilgilerini yazdırmak ve analiz yapmak için kodunuzu aşağıya yazın
    
    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.

Logic & Flow bölümündeki tüm dersler

Kendi başına pratik yap: Online C derleyicisi