Ingyenes (funkció)

ingyenes (  angol nyelvről  -  "release") - a C nyelv szabványos könyvtárának funkciója , amelyet a korábban lefoglalt dinamikus memória felszabadítására terveztek .

A funkció leírása

#include <stdlib.h> void free ( void * ptr );

Időpont

A függvény egy mutatót mutat a felszabadítandó területre, vagy NULL . Nincs visszatérési érték. free()nem ellenőrzi a mutató érvényességét, és „felszabadíthat” egy nem lefoglalt memóriaterületet, ami egyes megvalósításokban a kupac visszafordíthatatlan károsodásához vezethet ( angolul  heap ). A függvény NULL-lal történő meghívása biztonságos (a NULL ellenőrzését belsőleg kell elvégezni free()a szabvány szerint). A kupacsérülés elkerülése érdekében egyes C nyelvű kézikönyvek minden felszabadult mutató nullázását javasolják.

A hívás után felszabaduló memóriaterület free()újra lefoglalható, azonban a malloc gyakori hívása halom töredezettséghez és nagy memóriaterületek lefoglalásának képtelenségéhez vezethet .free()

A függvény a malloc.h , stdlib.h fejlécfájlokban van deklarálva . A függvény viselkedésének pontos leírását az ANSI C szabvány tartalmazza, és a POSIX szabvány hivatkozik rá .

A függvény argumentumai

Használati példa

pointer = malloc ( elemek_száma * sizeof ( * pointer )); /* ... ellenőrizze, hogy a memóriafoglalás sikeres volt-e, használja a memóriablokkot ... */ szabad ( mutató ); pointer = NULL ;

Lásd még

Linkek