C'de pointerlar ne işe yarıyor?

Başlatan goodnightsequence, 06 Eylül 2019 - 15:43:59

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

goodnightsequence

C dilinde pointer diye bir kavram olduğunu duydum ancak bir türlü ne işe yaradığını anlayamadım. Demek istediğim, mesela ptr = &a dersek değişkenin bellek adresini öğrenmiş oluyoruz galiba ama bunu nerede ne için kullanıyoruz?

Amenofis

Bunu ancak dili kullanarak, yani program yazarak anlayabilirsin. Pointer bütün dillerde vardır, sadece C'deki kadar esnek değildir.

maydin95

C düşük seviye bir dildir ve bu yüzden makine diline çok yakındır. Peki makine dili dediğimiz nedir? Her işlemcinin kendisine özgü olan dilidir (kabaca). Bu makine dilinden örnekler verip cevabına bağlamadan önce makine nedir onu bilmen lazım. İşlemci bellekteki bilgileri alır işler ve yazar. Bu bellekteki bilgilere ise adreslerle erişilir. Sen bir sayı tanımladığında o bilgi herhangi bir adresteki yere yazılır. Peki bu makine kodunda nasıl oluyor? Makine kodu yazarken "şu adrestekini işlemciye yükle", "bu yüklediğin şeyi 5 ile topla" sonra da "şu adrese yaz" gibi komutlar verirsin. C ise bu işleri kolaylaştırmak için tasarlanmış bir üst seviye dildir. Sen doğrudan adresi yazmazsın ama bir değişken tanımladığında onun adresi ile işlemleri pointerlar yardımıyla yapabilirsin. 
Din; ilimle birleşirse nefaset, cehaletle birleşirse rezalet, siyasetle birleşirse de felaket olur.