Özet: Pointer Temelleri
Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası — ders 6 / 63.
Görev
KolayBirden 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:
ageadında bir tamsayı (integer) değişkeni tanımlayın ve 25 değeriyle başlatıngradeadında bir karakter (character) değişkeni tanımlayın ve 'A' değeriyle başlatıntemperatureadında bir ondalıklı sayı (float) değişkeni tanımlayın ve 98.6 değeriyle başlatın- Üç ilgili işaretçi tanımlayın:
age_ptradında bir tamsayı işaretçisigrade_ptradında bir karakter işaretçisitemp_ptradında bir ondalıklı sayı işaretçisi
- Değişkenlerin adreslerini ilgili işaretçilerine atamak için adres operatörünü (address-of operator) kullanın
- İş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)
- Orijinal değişkenleri işaretçileri aracılığıyla değiştirin:
age_ptrkullanarakagedeğerini 30 yapıngrade_ptrkullanarakgradedeğerini 'B' yapıntemp_ptrkullanaraktemperaturedeğerini 99.5 yapın
- 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.5Bu 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
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ı