Pointer Nedir?
Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası — ders 1 / 63.
Bilgisayarınızın belleğini, binlerce odası olan devasa bir apartman binası gibi düşünün. Her odanın benzersiz bir adresi vardır ve her oda bir veri parçasını saklayabilir. C'de bir değişken oluşturduğunuzda, bu odalardan birine atanır.
Bir pointer, sayılar veya karakterler gibi normal verileri depolamayan özel bir değişken türüdür. Bunun yerine, başka bir değişkenin bellek konumunun adresini depolar. Bunu bir kağıda birinin daire numarasını yazmak gibi düşünün; kağıt kişinin kendisini içermez, ancak size onu tam olarak nerede bulacağınızı söyler.
int age = 25; // Bu, bellekte 'age' adında bir değişken oluşturur
int *ptr; // Bu, bir adres saklayabilen bir işaretçi (pointer) oluştururBu örnekte, age belirli bir bellek adresinde saklanır (diyelim ki oda 1004) ve ptr, age değişkenini "işaret etmek" için 1004 adresini saklayabilen bir işaretçi değişkenidir.
İşaretçiler, bellek adresleriyle doğrudan çalışmanıza olanak tanıyarak programlarınızı daha verimli hale getirdikleri ve dinamik bellek ayırma ile karmaşık veri yapıları gibi gelişmiş teknikleri mümkün kıldıkları için C'nin en güçlü özelliklerinden biridir.
Kopya kağıdı
Bir pointer (işaretçi), veriyi doğrudan depolamak yerine başka bir değişkenin bellek adresini depolayan bir değişkendir.
Bir pointer tanımlamak için * operatörünü kullanın:
int age = 25; // Normal değişken
int *ptr; // Bir adresi depolayabilen pointer değişkeniPointer'lar doğrudan bellek manipülasyonuna izin verir ve dinamik bellek tahsisi ile karmaşık veri yapıları gibi gelişmiş programlama tekniklerini mümkün kılar.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
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
1Pointer Temelleri
Pointer Nedir?Pointer TanımlamaAdres Operatörü (&)Dereference Operatörü (*)NULL Pointer'larÖzet: Pointer Temelleri4Proje: Basit Metin Aracı
Projeye Genel BakışKarakter Sayma2İşaretçiler ve Diziler
İşaretçi Olarak Dizi İsimleriDizi Elemanları - İşaretçilerİşaretçi Aritmetiğiİşaretçilerin KarşılaştırılmasıÖzet: İşaretçi ile Dizi Gezinme5İşaretçiler ve Fonksiyonlar
Değer ile GeçmeFonksiyonlara İşaretçi Göndermeİşaretçiler ile Değişkenleri DeğiştirmeKlasik Bir Örnek: SwapFonksiyonlara Dizi GöndermeÖzet: Fonksiyon İşaretçi Argümanları8Yapılar ve İşaretçiler
Yapılara İşaretçilerOk Operatörü (->)Yapıları Değer ile AktarmaYapı İşaretçilerini AktarmaYapıların Dinamik TahsisiÖzet: Yapıyı Değiştirme - Ptr11Son Tekrar Görevleri
Tekrar: Dinamik String BirleştirmeTekrar: Struct DizisiTekrar: Kelime Frekans Sayacı3Karakter Dizileri ve Stringler
char Dizisi Olarak StringlerNull Sonlandırıcıscanf ile String Girişistrlen() Kullanımıstrcpy() Kullanımıstrcat() Kullanımıstrcmp() KullanımıÖzet: Temel String Fonksiyonları