Menu
Coddy logo textTech

Pointer Tanımlama

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

Artık işaretçilerin ne olduğunu anladığınıza göre, onları nasıl oluşturacağımızı öğrenelim. Bir işaretçi değişkeni tanımlamak, derleyiciye işaretçinin ne tür bir veriyi işaret edeceğini söyleyen belirli bir sözdizimini takip eder.

Bir işaretçi bildirmek için temel sözdizimi şöyledir: data_type *pointer_name;

int *ptr;        // Bir tam sayıya işaretçi bildirir
char *ch_ptr;    // Bir karaktere işaretçi bildirir
float *f_ptr;    // Bir ondalıklı sayıya (float) işaretçi bildirir

Yıldız işareti (*), bunu bir pointer bildirimi yapan şeydir. Derleyiciye, bu değişkenin gerçek veri değerini değil, bir bellek adresini saklayacağını söyler. int *ptr; bildirimini yaptığınızda, "ptr, bir tam sayı değişkeninin adresini saklayabilen bir pointer'dır" demiş olursunuz.

Yıldız işaretinden önceki veri türünün, işaretçinin ne tür bir veriyi işaret edeceğini belirttiğine dikkat edin. Bu önemlidir çünkü farklı veri türleri farklı miktarlarda bellek alanı kaplar ve derleyicinin düzgün bellek yönetimi için bu bilgiye ihtiyacı vardır.

challenge icon

Görev

Kolay

Uygun işaretçi (pointer) bildirimi sözdizimini gösteren bir C programı yazın. Programınız şunları yapmalıdır:

  1. int_ptr adında bir tam sayı (integer) işaretçisi bildirin
  2. char_ptr adında bir karakter (character) işaretçisi bildirin
  3. float_ptr adında bir ondalıklı sayı (float) işaretçisi bildirin
  4. %p format belirleyicisi ile printf kullanarak her bir işaretçide saklanan bellek adreslerini yazdırın

Çıktınız, üç işaretçi adresini aşağıdaki formatta görüntülemelidir:

Integer pointer: [address]
Character pointer: [address]  
Float pointer: [address]

Gerçek bellek adreslerinin değişeceğini, ancak formatın ve etiketlerin yukarıda gösterilenle tam olarak eşleşmesi gerektiğini unutmayın.

Kopya kağıdı

Bir pointer (işaretçi) değişkeni tanımlamak için şu sözdizimini kullanın: data_type *pointer_name;

int *ptr;        // Bir tam sayıya (integer) işaret eden bir pointer tanımlar
char *ch_ptr;    // Bir karaktere (character) işaret eden bir pointer tanımlar
float *f_ptr;    // Bir ondalıklı sayıya (float) işaret eden bir pointer tanımlar

Yıldız işareti (*) bunu bir pointer bildirimi yapar ve derleyiciye bu değişkenin bir bellek adresi saklayacağını söyler. Yıldız işaretinden önceki veri tipi, pointer'ın ne tür bir veriyi işaret edeceğini belirtir.

Pointer adreslerini görüntülemek için printf ile %p format belirleyicisini kullanın.

Kendin dene

#include <stdio.h>

int main() {
    // YAPILACAK: İşaretçilerinizi burada tanımlayın
    
    
    // YAPILACAK: İşaretçi adreslerini istenen formatı kullanarak yazdırı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