Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Malloc Funkcia

V C - programovací jazyk navrhnutý Dennis Ritchie v AT & T Bell Laboratories v roku 1970 - funkcia malloc je spôsob alokácie pamäti dynamicky , alebo v reakcii na dopyt , skôr než v absolútnom vyjadrení . Niekedy programátori neviem , ako bude potreba veľa pamäte pre dáta v čase, keď sa písanie programu , tak malloc im umožňuje alokovať pamäť dynamicky potom, čo program rozbehol . Pridelenie pamäti

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 .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené