Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Pointer sorusu


Öne çıkan mesajlar

Mesaj tarihi:
pointer'ı bırakın efektif kullanmayı,halen bazı örneklerde anlama sorunları çekiyorum,geçen bir koda denk geldim ve anlayamadım.Her satıra cout ta çektim ne bitiyor diye(first/second valuelar)
c++

int main ()
{
int firstvalue = 5, secondvalue = 15;
int * p1, * p2;

p1 = &firstvalue; //5 15
p2 = &secondvalue; //5 15
*p1 = 10; //10 15
*p2 = *p1; //10 10
p1 = p2; //10 10
*p1 = 20; //10 20

cout << "firstvalue is " << firstvalue << endl;
cout << "secondvalue is " << secondvalue << endl;
system("PAUSE");
return 0;
}

En son basamağa kadar sorunum yok,fakat şu *p1 = 20; ifade nasıl secondvalue'yu 20 yapıyor,ve firstvalue bundan etkilenmiyor.Muhtemelen aptalca birşeyi kaçırıyorum gözden ama nedir o?
Mesaj tarihi:

int main ()
{
int firstvalue = 5, secondvalue = 15;
int * p1, * p2;

p1 = &firstvalue; //5 15 p1 firstval'ı gösterir
p2 = &secondvalue; //5 15 p2 secondval'ı gösterir
*p1 = 10; //10 15 p1'in gösterdiği yerdeki değeri 10 yap
*p2 = *p1; //10 10 p2'nin gösterdiği yerdeki değeri p1'in gösterdiği yerdeki değere eşitle
p1 = p2; //10 10 p1, p2'nin gösterdiği yeri göstersin

-----------

burdan itibarne artık p1 firstvalue ile ilgisini kaybediyor.

*p1 = 20; //10 20 p1'in gösterdiği yer, 20 olsun.

cout << "firstvalue is " << firstvalue << endl;
cout << "secondvalue is " << secondvalue << endl;
system("PAUSE");
return 0;
}
×
×
  • Yeni Oluştur...