Stack ve Heap Kavramları | Hap Bilgi
HTML-код
- Опубликовано: 3 окт 2024
- Piyasada en çok karıştırılan ve bilinmediğinden şikayet edilen 2 kavramı örneklerle ele aldık. Video boyunca birden fazla örnek ve farkları içeren dolu dolu bir video olduğunu düşünüyorum. Umarım açıklamalar yeterli kalmıştır.
Videomuzdan keyif alıp yeni şeyler öğrendiyseniz ve devamını istiyorsanız lütfen kanala abone olup videoyu beğenmeyi unutmayın.
Sosyal Medya:
Instagram - @mkrbeyin
Mail (contact) - mkrbeyin@gmail.com
Github - github.com/emr...
Linkedin - / emre-mrt
stack ve heap konusunda izlediğim en iyi anlatım buydu. teşekkür ederim
Çok teşekkür ederim
faydali ogretici bir anlatim, tesekkurler
Teşekkürler
C deki pointer kullanarak değişkenleri adreslere bağlama yaptığımız gibi mi ? yani burada stack pointer mi oluyor ?
Aynen öyle, tek farkla pointer stacke değilde heape denk oluyor
güzell
Peki neden böyle bir ayrım yapılma gereksinimi duyulmuş?
Tam olarak neyin ayrımını soruyorsunuz? Referans tipli ve ilkel veri tipli türlerin neden var olduğunu mu?
@@mkrbeyin evet. neyi kolaylaştırıyorlar ya da hangi sorunun çözümüler? dediğiniz gibi neden varlar?
Verimlilik ve hız için hocam. Mesela bizler yeni bir ilkel veri türüne sahip değişken oluşturduğumuzda veya içeriğini değiştirdiğimizde bellek tarafında onun için yeniden bir alan ayrılır. Bunun olmasını istemediğimiz durumları düşünelim. Mesela bir veri türü tutacağız bu aynı alanla alakalı farklı veriler olacak. Örneğin bir kişinin kimlik ve ikametgah bilgileri. Bu şimdi bir kişiye ait fakat farklı veri türleri içeriyor. Ve bizler bunu ayrı değişkenlerde tutarsak ve yarın bir gün bu verilerden ikametgah bilgisi değişirse, anne baba boşanırsa gibi farklı olayları mantıksal olarak değiştirdiğimizde bellekte yeniden yer ayrılacak ve bu bilgiler büyüdükçe sistemde yavaşlamalara sebep olacaktır. Fakat biz bunu bir dizi üzerinde tutacak olursak dizinin içeriği değişse bile ramde tutulan yani referans gösterilen yer sabit kalacaktır. Dolayısıyla veri değişimi sırasında yeniden bir bellekte uygun yer arayışına girilmeyecek sonucunda hem hızdan hem de verimden tasarruf elde edilmiş olacak. Umarım açıklayabilmişimdir. Ek başka sebepleri varsa bilemiyorum. Eğer siz araştırmış ve farklı sebepler öğrenmişseniz benimle burada paylaşmanız diğer okuyanları ve beni mutlu eder.
@@mkrbeyin Valla çok teşekkür ederim şu ana kadar cevap bulamadığım bir soruydu sürekli ikisinin tanımı yapılıyor ama neden bu şekilde bir ayrım olduğuna dair bir bilgi bulamamıştım. Cevap örneği ile birlikte güzel ve yeterli.
Rica ederim :)
✅
hocam
int[] dizi = {1,2,3,4,5,6,7};
int a = dizi[0];
dizi[0] = 498;
Console.WriteLine(dizi[0]);
Console.WriteLine(a[0]);
gocom burda a[0] değeri yine 1 olarak geliyor burdaki teorik nedeni açıklayaiblirmisin
Videonun içeriği sorunuza net bir şekilde cevap vermeliydi. İzleyipte mi yorumu yaptınız acaba?
Videoyu izlediğin halde cevap bulamadıysan diye yazayım. Şimdi sen değer tipli bir değişken olan int a; tarafına referans tipli bir değişken olan dizinin 0. elemanını eklemeye çalıştığında onun referansı değil değeri atanmış olur. Onun için sen a nın değerini öğrenmek istediğinde 498 i değil ilk olarak atadığın değer olan 1 i gördün
Ayrica int a dedigin degisken dizinin 0. İndexini tutan primitive bir degisken. Yani a[0] ifadesi diye bisey yok cunku a dizi degil
Hayatimi para bollugu olarak yasamam icin neler mumkun
Kelin ilacı olsa kendi kafasına sürermiş :)
Bilal'e anlatır gibi anlatmışsın Teşekkür ederim . bunu da anlamayan gitsin kumda oynasın :))
Kanal olarak içeri girmeyiz inşallah :)