C++ free() 函数
free() 函数是 cstdlib 头文件的库函数。它用于释放动态分配的内存块(即由malloc()
,calloc()
, 或者realloc()
函数),以便内存块可用于进一步分配。它接受一个参数,该参数应该是指向已分配内存的指针。
注意:如果指针不指向动态分配的内存,则会导致未定义行为,如果它是空指针,则 free() 函数不执行任何操作。
free() 函数的语法:
C++11:
void free (void* ptr);
参数:
ptr
– 表示指向动态分配的内存块的指针。
返回值:
这个函数的返回类型是void
, 它不返回任何东西。
例:
Input: // number of elements n = 5; // Dynamically allocate memory using malloc() ptr = (int*)malloc(n * sizeof(int)); Function call: // freeing memory free(ptr);
C++代码演示free()函数的例子
// C++ code to demonstrate the example of
// free() function
#include <iostream>
#include <cstdlib>
using namespace std;
// main() section
int main()
{
int* ptr; // pointer
int n, i;
cout << "Enter number of elements:";
cin >> n;
// Dynamically allocate memory using malloc()
ptr = (int*)malloc(n * sizeof(int));
// Check whether memory is allocated or not
if (ptr == NULL) {
cout << "Memory not allocated.." << endl;
exit(EXIT_FAILURE);
}
else {
cout << "Memory created..." << endl;
// input array elements
for (i = 0; i < n; ++i) {
cout << "Enter element " << i + 1 << ":";
cin >> ptr[i];
}
// Print the array elements
cout << "The array elements are:";
for (i = 0; i < n; ++i) {
cout << ptr[i] << " ";
}
cout << endl;
// freeing the memory
free(ptr);
}
return 0;
}
输出
Enter number of elements:5 Memory created... Enter element 1:10 Enter element 2:20 Enter element 3:30 Enter element 4:40 Enter element 5:50 The array elements are:10 20 30 40 50
参考:C++ free() 函数
相关用法
- C++ frexp()用法及代码示例
- C++ fread()用法及代码示例
- C++ fmax()用法及代码示例
- C++ fdim()用法及代码示例
- C++ fmin()用法及代码示例
- C++ forward_list::unique()用法及代码示例
- C++ forward_list::emplace_front()用法及代码示例
- C++ forward_list::reverse()用法及代码示例
- C++ forward_list::swap()用法及代码示例
- C++ forward_list::front()、forward_list::empty()用法及代码示例
- C++ functional::bad_function_call用法及代码示例
- C++ find_if()用法及代码示例
- C++ find()用法及代码示例
- C++ forward_list::operator=用法及代码示例
- C++ forward_list::clear()、forward_list::erase_after()用法及代码示例
- C++ forward_list emplace_after()、emplace_front()用法及代码示例
- C++ forward_list::splice_after()用法及代码示例
- C++ fmax() and fmin()用法及代码示例
- C++ forward_list resize()用法及代码示例
- C++ forward_list merge()用法及代码示例
注:本文由纯净天空筛选整理自 free() Function with Example in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。