В тази статия ще разгледаме calloc() функция и как може да се използва успешно в C++.
Какво представлява функцията calloc()?
The функция calloc(). е функция за разпределение на паметта в програмирането на C++. Използва се за разпределяне на блок памет за масив или набор от променливи. The calloc() функция е като malloc() функция, освен че първоначално задава разпределената памет на нули. Това гарантира, че разпределената памет се инициализира до известна стойност, което е полезно при работа с масиви и структури.
Синтаксисът за функция calloc(). е както следва:
невалиден * calloc ( размер_т nmemb , размер_т размер )
Функцията приема два аргумента: nmemb и размер . The nmemb аргументът указва броя на елементите в масива, който се разпределя, докато размер аргументът указва размера на всеки елемент в байтове.
Освен това, ако разпределението на паметта е успешно, calloc() функцията връща нулев указател, в противен случай връща указател към началото на новосъздадения блок памет. За да избегнете изтичане на памет, паметта, разпределена от calloc() трябва да се премахне с помощта на Безплатно() метод, след като вече не е необходим.
Как да използвам функцията calloc() в C++?
Да използвам calloc() функция в C++, следвайте дадените по-долу стъпки:
Етап 1: Включете необходимия заглавен файл за calloc() функция, която е
Стъпка 2: След това декларирайте променлива указател от желания тип данни.
Стъпка 3: След това използвайте calloc() функция за разпределяне на памет и инициализиране на 0.
Стъпка 4: Използвайте разпределената памет според изискванията.
Стъпка 5: След като приключите с използването на разпределената памет, освободете я с помощта на Безплатно() функция.
Следващият пример показва calloc() изпълнение на функции в C++.
#include#include
използване на пространство от имена std ;
вътр основен ( ) {
вътр * ptr ;
ptr = ( вътр * ) calloc ( 6 , размер на ( вътр ) ) ;
ако ( ! ptr ) {
cout << „Неуспешно разпределяне на памет“ ;
изход ( 1 ) ;
}
cout << „Стойностите се инициализират...“ << endl
<< endl ;
за ( вътр i = 0 ; i < 6 ; i ++ ) {
ptr [ i ] = i * 3 ;
}
cout << 'Инициализирани стойности.' << endl ;
за ( вътр i = 0 ; i < 6 ; i ++ ) {
cout << * ( ptr + i ) << endl ;
}
Безплатно ( ptr ) ;
връщане 0 ;
}
В горния код, целочислен указател ptr се обявява първо. След това паметта се разпределя за използване на 6 цели числа calloc(), като паметта се инициализира с 0. The sizeof(int) се използва за изчисляване на това колко памет е необходима за съхраняване на цели числа. След това разпределението на паметта се проверява за грешки, за да се гарантира успех. Ако не, програмата се прекратява и се показва съобщение за грешка.
След това разпределената памет се инициализира с помощта на числа, получени чрез умножение „i*3“ с помощта на a за цикъл. Стойностите, съхранявани в разпределената памет, се отпечатват с помощта на втори цикъл for и аритметика на указател с *(ptr + i) . В крайна сметка паметта, която е била динамично разпределена, се освобождава чрез извикване на Безплатно() функция, която спира изтичането на памет. Като знак, че програмата е изпълнила успешно, тя връща 0.
Изход
Заключение
В C++, calloc() функцията е полезна за динамично разпределяне на памет. Той не само разпределя памет, но и я нулира, което е полезно при работа с масиви и структури. Разбиране как да се използва calloc() ефективно е от решаващо значение за избягване на изтичане на памет и осигуряване на успех при изпълнение на програмата. Разработчиците могат безопасно да използват calloc() метод в техните C++ програми, като следвате инструкциите, дадени в тази статия.