C# Programlama void Tipindeki Göstericiler

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
▃ ▅ ησ ♥ яєѕρєcт ▅ ▃
Süper Üye
Katılım
24 Eyl 2016
Mesajlar
600
Tepki puanı
10
Ödüller
9
9 HİZMET YILI
void Tipindeki Göstericiler
void göstericiler herhangi bir veri tipine ait olmayan göstericilerdir. Bu özelliğinden dolayı, void gösterici genel gösterici (generic pointer) olarak da adlandırılır.
void göstericiler, void anahtar sözcüğü ile bildirilir. Örneğin:

void *adr;

gibi.
void göstericiler yalnızca adres saklamak için kullanılır. Bu yüzden diğer göstericiler arasında atama işlemlerinde kullanılabilir. Örneğin aşağıdaki atamada derleyici bir uyarı veya hata mesajı vermez:

void *v;
char *c;
.
.
.
v = c; /* sorun yok !*/


Program 11.10'de void tipindeki bir göstericinin, program içinde, farklı tipteki verileri nasıl göstereceği ve kullanılacağı örneklenmiştir. İnceleyiniz.
Bağlantıları görmek için lütfen Giriş Yap
void gösterici ile farklı tipteki verileri gösterme

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:


/* 10prg10.c: void gosterici (generic pointer) uygulamasi */

#include <stdio.h>

int main()
{
char kar = 'a';
int tam = 66;
double ger = 1.2;
void *veri;


veri = &kar;
printf("veri -> kar: veri %c karakter degerini gosteriyor\n", *(char *) veri);


veri = &tam;
printf("veri -> tam: simdi veri %d tamsayi degerini gosteriyor\n", *(int *) veri);


veri = &ger;
printf("veri -> ger: simdi de veri %lf gercel sayi degerini gosteriyor\n", *(double *) veri);


return 0;
}


ÇIKTI

veri -> kar: veri a karakter degerini gosteriyor
veri -> tam: simdi veri 66 tamsayi degerini gosteriyor
veri -> ger: simdi de veri 1.200000 gercel sayi degerini gosteriyor



Benzer olarak, fonksiyon parameterelerinin kopyalanması sırasında da bu türden atama işlemleri kullanılabilir. Uygulamada, tipten bağımsız adres işlemlerinin yapıldığı fonksiyonlarda, parametre değişkeni olarak void göstericiler kullanılır. Örneğin
void free (void *p)
{
.
.
.
}


Parametresi void *p olan free fonksiyonu, herhangi türden gösterici ile çağrılabilir.
 
Moderatörün son düzenlenenleri:
Üye
Katılım
20 Şub 2017
Mesajlar
35
Tepki puanı
5
Ödüller
5
Yaş
25
9 HİZMET YILI
Tesekkurler kardesim isime yaradi
 
Onaylı Üye
Katılım
27 Şub 2017
Mesajlar
78
Tepki puanı
0
9 HİZMET YILI
Öğrenmeye çalışıyorum verdiğin bilgiler için saol
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst