«free» etiketlenmiş sorular

17
Malloc'dan sonra serbest kalmadığınızda GERÇEKTEN ne olur?
Bu, uzun zamandır beni rahatsız eden bir şey oldu. Hepimize okulda (en azından ben) tahsis edilen her işaretçiyi serbest bırakmanız GEREKİR. Yine de, hafızayı boşaltmamanın gerçek maliyeti hakkında biraz merak ediyorum. Bazı açık durumlarda, mallocbir döngü içinde veya bir iş parçacığı yürütmesinin bir parçası olarak çağrıldığında olduğu gibi, serbest bırakmak …
538 c  malloc  free 

11
Özgür ne kadar özgür olacağını nasıl bilebilir?
C programlamasında, istediğiniz argümanı serbestçe bir argüman olarak iletebilirsiniz, boşaltılan belleğin boyutunu nasıl bilebilir? Ne zaman bir işlev için bir işaretçi geçmek, ben de boyutu geçmek zorunda (yani 10 elemanların bir dizi 10 dizi boyutunu bilmek için bir parametre olarak 10 almak gerekir), ama ben boyutu geçmek zorunda değilsiniz serbest …
385 c  size  pointers  free 

13
Malloc () ve free () nasıl çalışır?
Ben nasıl bilmek istiyorum mallocve freeçalışması. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p; return 0; } Cevabın hafıza düzeyinde derinlemesine olması mümkünse …

23
Serbest bırakıldıktan sonra değişkeni NULL olarak ayarlama
Şirketimde, herhangi bir belleği boşalttıktan sonra değişkeni sıfırlayan bir kodlama kuralı var NULL. Örneğin ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Yukarıda gösterilen kod gibi durumlarda, ayarının NULLherhangi bir anlamı olmadığını hissediyorum . Yoksa bir şey mi kaçırıyorum? Böyle …

10
Ücretsiz (ptr) nerede ptr BOŞ bellek bozuk mu?
Teorik olarak şunu söyleyebilirim free(ptr); free(ptr); Zaten serbest bırakılan belleği boşalttığımız için bir bellek bozulmasıdır. Ama ya eğer free(ptr); ptr=NULL; free(ptr); İşletim sistemi tanımlanmamış bir şekilde davranacağından, neler olduğuna dair bunun için gerçek bir teorik analiz elde edemiyorum. Ne yaparsam yapayım, bu bellek bozulması mı, değil mi? NULL işaretçisi serbest …


3
Neden ücretsiz geri dönüş değerini geçersiz kılar?
C kullanan bir kitap okuyorum ( POSIX Threads tarafından Programlama, Butenhof, 1997) ve aşağıdaki satırla karşılaştım: (void)free(data); Burada, datatahsis edilmiş bir yapıya sadece bir işaretçi, data = malloc(sizeof(my_struct_t)); Neden sonucudur freeiçin dışlandığımdı void? C anlayışımdan, bu iki nedenden dolayı mantıklı görünmüyor: Serbest işlev zaten geri döner void Kod dönüş değerini …
82 c  casting  free  void  legacy-code 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.