C programlama

Pointer Dönüşlü Fonksiyonlar

image_pdfimage_print

Bu konuyu incelemeden önce pointerlerin ne olduğunu bilmelisiniz ve Call by Value&Call by Reference konularını gözden geçirmiş olmalısınız, bu konunun anlaşılırlığı bakımından daha sağlıklı olacaktır.

Geri dönüşlü fonksiyonların parametre değerleri ve bir dönüş değeri olduğunu biliyoruz. Bu parametrelerin pointer bir değer olabileceği gibi dönüş tipimiz de bir pointer olabilir. Aşağıdaki kodumuzda bu konuyu inceleyelim.

Main fonksiyonumuzda gördüğümüz gibi dizi[] arrayimizi tanımladık

Ardından  *p pointeri adresDegistir(char *p, int index) fonksiyonunun (dizi,fazlalik) parametreleriyle return’u olarak tanımlanmıştır.

 

Fonksiyonumuzun parametrelerinin aldığı değerler *p ve index sırasıyla dizi string arrayi ve index yani 2 olmuştur.

Fonksiyonun başındaki * işareti ile de fonksiyonumuzun dönüş tipi pointer olmuştur

uzunluk ise strlen komutuyla p stringinin uzunluğu olarak tanımlanmıştır.

 

 

Fonksiyonumuzun içindeki bu koşul ile stringimizin uzunluğu index(2)’ten büyük olduğu müddetçe dönüşümüz (p+index) kadar olacatır.Aksi halde NULL (boş) bir değer olacaktır. Bunun anlamı ise mesela p stringimizin adresinin 2 birim ilerlemiş olması ve main fonksiyonuna dönüşün pointer biçiminde olmasıyla main fonksiyonundaki

çıktısının sonucu ise

“zilimagiris” olacaktır.

 

Hazırlayan Gürkan Aktaş.

 

0
0

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir