PDA

Tam Sürümünü Görmek İçin : int *sayi; *sayi = 15; kodu çalışır mı?


ankakusu
13/08/2007, 19:26
basit bir pointer sorusu soracağım:

int *sayi;
*sayi = 15;

kodu neden çalışmaz?


ankakusu
13/08/2007, 19:32
tamam yahu ben buldum sonucu
:)

çünkü sayıyı önceden declare ederken sadece bir pointer tanımlamışım ama işaret ettiği
alanı tanımlamamışım.

önce:

int *sayi;
*sayi =13;

vardi

sonra

int x;
int sayi = &x;
*sayi = 13;

dedigim zaman çalıştı :)
bilgilerinize...

Volkan Uzun
13/08/2007, 19:41
evet aynen oyle :)
int *x dedigin zaman, x in neyi gosterdigini bilmiyorsun, eger sansliysan ve derleyicin iyi ise derleme zamani bir hata alirsin, eger sansliysan ve derleyicin kotuyse, kodu calistirir calistirirmaz hata alirsin.
eger sanssizsan, kod calisir, ara ara coker, sende neyi degistirdim en son ki ara da bir cokuyor diye dusunursun

myavuzselim
14/08/2007, 10:46
int x;
int sayi = &x;
*sayi = 13;

dedigim zaman çalıştı :)
bilgilerinize...
Normalde int* sayi = &x; demen lazim. Bunu buraya aktarirken yazim hatasi yapmis olmalisin.

ankakusu
14/08/2007, 13:39
evet oyle dediğin doğru myavuzselim.

teşekkür ediyorum...