Menu
Coddy logo textTech

Özet: Pointer Temelleri

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

challenge icon

Görev

Kolay

Birden fazla veri türüyle çalışarak eksiksiz bir işaretçi (pointer) iş akışını gösteren bir C programı yazın. Programınız şunları yapmalıdır:

  1. age adında bir tamsayı (integer) değişkeni tanımlayın ve 25 değeriyle başlatın
  2. grade adında bir karakter (character) değişkeni tanımlayın ve 'A' değeriyle başlatın
  3. temperature adında bir ondalıklı sayı (float) değişkeni tanımlayın ve 98.6 değeriyle başlatın
  4. Üç ilgili işaretçi tanımlayın:
    • age_ptr adında bir tamsayı işaretçisi
    • grade_ptr adında bir karakter işaretçisi
    • temp_ptr adında bir ondalıklı sayı işaretçisi
  5. Değişkenlerin adreslerini ilgili işaretçilerine atamak için adres operatörünü (address-of operator) kullanın
  6. İşaretçileri aracılığıyla her üç değeri de aşağıdaki formatta yazdırmak için dolaylı erişim operatörünü (dereference operator) kullanın:
    • Age: [value]
    • Grade: [value]
    • Temperature: [value] (tam olarak 1 ondalık basamakla)
  7. Orijinal değişkenleri işaretçileri aracılığıyla değiştirin:
    • age_ptr kullanarak age değerini 30 yapın
    • grade_ptr kullanarak grade değerini 'B' yapın
    • temp_ptr kullanarak temperature değerini 99.5 yapın
  8. Değiştirilen değerleri, 6. adımdakiyle aynı formatta, doğrudan orijinal değişkenlerden (işaretçiler aracılığıyla değil) yazdırın

Çıktınız sonuçları aşağıdaki formatta görüntülemelidir:

Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5

Bu zorluk; işaretçi tanımlama, adres atama, hem değer okuma hem de yazma için dolaylı erişim (dereferencing) konularındaki anlayışınızı test eder ve işaretçilerin orijinal değişkenlerin bellek konumlarına doğrudan erişim sağladığını gösterir.

Kendin dene

#include <stdio.h>

int main() {
    // YAPILACAK: Kodunuzu buraya yazın
    // Değişkenleri ve işaretçileri (pointer) tanımlayın
    // Adresleri işaretçilere atayın
    // Değerleri işaretçiler aracılığıyla yazdırın
    // Değerleri işaretçiler aracılığıyla değiştirin
    // Değiştirilen değerleri orijinal değişkenlerden yazdırın
    
    return 0;
}

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