mobile theme mode icon
theme mode light icon theme mode dark icon
speech play
speech pause
speech stop

Fonksiyonlarda Tutulan Belleği Anlamak

Bir işlev bağlamında "tutar", işlevin kullandığı belleği serbest bırakmadığı veya serbest bırakmadığı anlamına gelir. Bunun yerine, belleği tutar ve artık gerekmediğinde belleğin yerinin değiştirilmesinden sorumludur.

Başka bir deyişle, belleği tutan bir işlev, kullanımı bittikten sonra belleği yığına veya yığına geri döndürmez. Bu, işlevin belleğin ömrünü yönetmekten sorumlu olduğu anlamına gelir; bu belirli durumlarda yararlı olabilir ancak aynı zamanda bellek sızıntılarını önlemek için dikkatli bir yönetim gerektirir.

Örneğin, büyük bir veri yapısı için bellek ayıran ve ardından bir sonuç döndüren bir işlevi düşünün. arayana bu veri yapısını gösteren işaretçi. İşlev, artık ihtiyaç duyulmadığında belleği serbest bırakmazsa, bellek işlev tarafından tutulacak ve arayan kişi daha sonra belleğin yerinin değiştirilmesinden sorumlu olacaktır. Arayan kişi belleği serbest bırakmayı unutursa bu, bellek sızıntılarına yol açabilir.

Buna karşılık, yığında veya yığında tahsis edilen belleğe bir işaretçi döndüren ve daha sonra ihtiyaç duyulmadığında belleği serbest bırakan bir işlev (örn., ` malloc` ve `free`) belleği korumaz. İşlev onu kullanmayı bitirir bitirmez bellek yığına veya yığına geri gönderilir, böylece arayanın belleğin ömrünü yönetme konusunda endişelenmesine gerek kalmaz.

Knowway.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor. Knowway.org'u kullanarak çerezleri kullanmamızı kabul etmiş olacaksınız. Detaylı bilgi almak için Çerez Politikası metnimizi inceleyebilirsiniz. close-policy