Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
154
Tıklama
0
Öne Çıkarma
Pointers C++
T
4 yıl
Teğmen
Konu Sahibi

< Resime gitmek için tıklayın >

3 ve 4. Satırda neden bir önceki satırda gösterdiği değerin 1 fazlasını göstermedi?
3. Satır: 3
4. Satır: 4 neden olmadı?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi trgtyt -- 5 Temmuz 2021; 23:11:43 >

< Bu ileti Android uygulamasından atıldı >

T
4 yıl
Yarbay

gcc-10 ile biraz farklı sonuçlar cıktı. Senin SS'teki Microsoft C/C++ Optimizing Compiler, farklı sonuç veriyor olabilir.
< Resime gitmek için tıklayın >



< Bu ileti mini sürüm kullanılarak atıldı >

R
4 yıl
Binbaşı

  • Satır: *ptr, i={1,2,3,4,5} dizisindeki ilk elemanı gösteriyor ve bu değer print ediliyor. Yani 1.
  • Satır : ++*ptr ile dizin birinci elemanının değeri bir artırılıyor. Yeni dizi i={2,2,3,4,5} oluyor. Hala pointer dizin 1. elamanını yani yeni 2 yi gösteriyor ve bu değer print ediliyor.
  • Satır: *++ptr ile önce pointer adresi dizinin ikinci elemanına taşınıyor ve dizin ikinci elemanının değeri yani 2 print ediliyor.,
  • Satır: *ptr++ ile pointer hala dizinin 2. elemanını gösterirken 2 değeri print ediliyor ve print işleminden sonra pointerin gösterdiği adres bir artırılıyor. Artık pointer dizinin 3. elemanını gösteriyor.
  • Satır: *ptr ile pointerin gösterdiği dizin 3. elemanındaki değer olan 3 değeri print ediliyor.

Pointer konusunda farklı derleyecilerin veya derleyeci optimizasyonlarının hata yapması veya farklı değerler üretmesi kabul edilemez bir hata/eksiklik olur. :)

Edit: 4. maddedeki yanlışlık düzeltildi.





< Bu mesaj bu kişi tarafından değiştirildi rafet32 -- 6 Temmuz 2021; 18:32:10 >

R
4 yıl
Binbaşı

Dizin elemanlarını şu şekilde değiştirirseniz sonuçları yorumlamak çok daha kolay olur.

< Resime gitmek için tıklayın >



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.