Katika Lugha ya Kupanga C, kipengele cha kukokotoa realloc ni hutumika kubadilisha ukubwa wa hifadhi ambayo ilitengwa hapo awali. Kitendakazi cha realloc hutenga hifadhi ya kumbukumbu (ambayo inaweza kuifanya iwe kubwa au ndogo kwa saizi kuliko ya asili) na kunakili yaliyomo kwenye kizuizi cha zamani kwenye kizuizi kipya cha kumbukumbu, ikiwa ni lazima.
Unawekaje kumbukumbu upya?
Ukubwa wa kumbukumbu iliyogawiwa kwa nguvu inaweza kubadilishwa kwa kutumia realloc. Kulingana na kiwango cha C99: voidrealloc (batili ptr, size_t size); realloc hutenganisha kitu cha zamani kilichoelekezwa na ptr na kurudisha kielekezi kwa kitu kipya ambacho kina ukubwa uliobainishwa kwa ukubwa.
Ni kipengele kipi kinatumika kutoa kumbukumbu?
kitendaji kisicholipishwa hutumika kutoa kumbukumbu ambayo imehifadhiwa kwa vizuizi na ambayo haihitajiki tena. Sintaksia: utupu bure (utupu block); Inatoa kizuizi cha kielekezi kilichobainishwa.
Uwekaji upya kumbukumbu ni nini?
Jaribio linafanywa la kubadilisha ukubwa wa bafa kupitia simu hadi kitendakazi cha realloc, kielekezi hutaguliwa ili kubaini uhalali ikiwa ni thamani isiyo ya NULL. Ikiwa ni halali, kichwa cha bafa ya lundo huangaliwa ili kubaini uthabiti. Bafa asili kisha kutolewa. …
Ni kitendakazi kipi kinaacha kumbukumbu ikiwa haijaanzishwa?
Majibu 14. calloc hukupa bafa ambayo haijaanzishwa sifuri, huku malloc inaacha kumbukumbu bila kuanzishwa.