Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
V predvolenom nastavení je funkcia malloc alokuje súvislý , alebo susedné , blok pamäte v oblasti známej ako hromadu , ktorá možno pristupovať pomocou programu pre ukladanie dát a premenných . Funkcia malloc vyžaduje jeden argument , dlhý alebo 32 - bitové celé číslo , ktoré predstavuje počet bajtov , ktoré majú byť pridelené z haldy . Funkcia malloc žiada systém pre blok pamäte o veľkosti zadaného a vracia ukazovateľ - adresu , z hľadiska programovacieho jazyka - . Prvý prvok bloku
Vrátená hodnota
Počítače majú len obmedzené množstvo pamäte , takže je možné , že funkcia malloc potrebujete viac pamäte , než je fyzicky k dispozícii a spôsobí program zrútenie . Ak nie je k dispozícii dostatok pamäte , malloc vráti nulový ukazovateľ , alebo ukazovateľ s hodnotou nula . Ak chcete zabrániť program od zhadzovať , musia programátori explicitne otestovať , či malloc nevrátia null , takže vedia , že požadovaná pamäť bola úspešne pridelená pred pokusom o jeho použití .
Uvoľnenie pamäte
Rovnako tak počítač nie je trvalo prideliť viac a viac pamäte - a opakovane prepisovať ukazovateľ , ktorý ukazuje na dynamicky alokovaná pamäť môže viesť k dát stávajú nedostupnými . Dynamicky alokovaná pamäť musí preto byť prepustený späť do systémovej pamäte bazéna , pomocou bezplatnej funkcie , akonáhle je už nepotrebujete . Keď proces skončí , všetko dynamicky pridelenej pamäte je uvoľnená späť do pamäte .
Syntax
malloc vracia všeobecný ukazovateľ , alebo ukazovateľ na močenie , ale ukazovateľ môže byť napísaný , alebo obsadiť , sa označujú typ dát , na ktoré sa odvoláva . Syntax " char * str = ( char * ) malloc ( 40 ) , " napríklad , prideľuje pamäť pre reťazec dlhý 40 znakov . Prípadne môžete programátori deklarovať ukazovateľ a vyvolať malloc , keď chcú , aby sa priestor pre prvky v poli . Avšak , je dôležité si uvedomiť , že funkcia malloc alokuje pamäť len . To nie je prázdne alebo inak inicializácii pamäti , že prideľuje .