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

Rozdiely v malloc a calloc

malloc a calloc sú dve funkcie pre správu pamäte na " C " programovací jazyk . Programy nemusíte rezervovať oblasti pamäti , pretože to je zvyčajne v kompetencii operačného systému . Tieto dve funkcie nie sú často používané a sú potrebné len pre tie programy , ktoré nemôžu spoliehať na štandardné procesy správy pamäte . " C " Programovací jazyk

" C " je už dlho obľúbenou jazyk pre sieťové programovanie a prácu so súbormi . Je to ťažký jazyk sa učiť , pretože jeho slová sú oveľa kódované a menej ako skutočné jazyku než v iných jazykoch , ako COBOL , Pascal a Java . " C " je úzko spätý s operačným systémom Unix . V skutočnosti , Unix je napísaný v " C " Hoci Unix má vlastný skriptovací jazyk , " C " je prevládajúci jazyk pre služby programovanie Unix . Ako alokácia pamäte je úzko spojená s operačnými systémami , malloc a calloc sú viac pravdepodobné , že sa nachádza v nízkej úrovni služieb naprogramovaných v jazyku " C " , ako klient čelí aplikácií na vysokej úrovni .
Memory Management

program , " C " je zoznam ľudských čitateľné inštrukcie, ktoré nemožno spustiť na počítači . Tento program musí byť zostavený , ktorý generuje kópiu programu v strojovo čitateľnej kódu . Operačné systémy zvyčajne prideľovať miesta v pamäti pre premenné a pokynov uvedených v programe v čase, keď je program vybudovaný . Premenné sú dočasné úložný priestor pre dáta v priebehu behu programu . Malloc a calloc poskytnúť metódu oneskorenie prideľovanie adries pamäti , kým program beží . To sa nazýva dynamická správa pamäte .
Malloc a calloc

Ako malloc a calloc prideliť priestor v pamäti haldy programu . Každá funkcia vracia ukazovateľ na prvý pridelenej pamäti adresa a všetky ostatné pamäťové bloky by mali byť súvislé . Ak systém nemá pamäť k dispozícii , obe funkcie vráti hodnotu null . Obe funkcie rezerva pamäti buď celé číslo alebo znaková dáta . V každom prípade , veľkosť pamäti bloku by mala byť násobkom veľkosti potrebné pre daný typ dát . Preto je bežnou praxou použiť sizeof ( ) funkcie v zozname parametrov ako pre malloc a calloc na veľkosti bloku argument , aby sa zabezpečilo , že požadovaná veľkosť pamäte je násobkom zamýšľaného typu dát .

Porovnanie

malloc prijíma jeden argument a pridelí jeden blok na požadovanej veľkosti . Calloc prijíma dva argumenty , ktoré majú počet blokov potrebné a požadovanej veľkosti pre každý blok . Z tohto dôvodu , malloc je považovaná za užitočné pre jednu premennú , a calloc je vhodnejšie pre prideľovanie pamäte pre pole - , ktorý obsahuje niekoľko prvkov . Malloc nie je inicializovať požadovanú oblasť pamäti , zatiaľ čo calloc nula ho napĺňa .

Najnovšie články

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