c语言中free函数

C ++ free()函数 (C++ free() function)

free() function is a library function of cstdlib header. It is used to deallocate the dynamically allocated memory blocks (i.e. the memory blocks allocated by the malloc(), calloc(), or realloc() functions) so that the memory blocks can be used for further allocations. It accepts a parameter which should be the pointer to the allocated memory.

free()函数cstdlib标头的库函数。 它用于取消分配动态分配的内存块(即,由malloc() , calloc()或realloc()函数分配的内存块),以便可以将这些内存块用于进一步的分配。 它接受一个参数,该参数应该是指向已分配内存的指针。

Note: If the pointer does not point to the dynamically allocated memory it causes undefined behavior and if it is a null pointer, free() function does nothing.

注意:如果指针未指向动态分配的内存,则它将导致未定义的行为;如果指针为空,则free()函数将不执行任何操作。

Syntax of free() function:

free()函数的语法:

C++11:

C ++ 11:

    void free (void* ptr);

Parameter(s):

参数:

  • ptr – represents a pointer to the dynamically allocated memory blocks.

    ptr –表示指向动态分配的内存块的指针。

Return value:

返回值:

The return type of this function is void, It does not return anything.

该函数的返回类型为void ,它不返回任何内容。

Example:

例:

    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)

// 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;
}

Output

输出量

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

Reference: C++ free() function

参考: C ++ free()函数

翻译自: https://www.includehelp.com/cpp-tutorial/free-function-with-example.aspx

c语言中free函数

c语言中free函数_free()函数与C ++中的示例相关推荐

  1. C 语言中 char[] 的操作函数

    C语言中char[]的操作函数 1.赋值操作 在C语言中,char型数组是不可以直接赋值的.例如在如下的代码中,会得到错误: char c1[20] = "women"; char ...

  2. c语言printf函数的作用,c语言中printf用法及其函数定义

    c语言中printf用法及其函数定义 发布时间:2020-04-09 10:51:14 来源:亿速云 阅读:354 作者:小新 今天小编给大家分享的是c语言中printf用法及其函数定义,很多人都不太 ...

  3. c语言的字符串不是存放,在C语言中,字符串不存放在一个变量中,而是存放在一个中...

    在C语言中,字符串不存放在一个变量中,而是存放在一个中 答:数组 中国大学MOOC: 请选择恰当的选项填入划线的空白处.国 生活習慣が違います. 答:によって 中国大学MOOC: 下列项目中,不应作为 ...

  4. c语言中val是什么函数,val(val是什么意思)

    有这么一个C语言程序 : int i; long val; for(i=0;i 在C语言中Val是一个将由数字符号(包括正负号.小数点)组成的字符型数据转换成相应的数值型数据的函数,语法格式是Val( ...

  5. c语言中fmod()函数和log10()函数用法

    C语言中fmod函数的功能是x/y的求余运算,适用于double ,float,long double,如果y=0的话,那么返回 值得一提的是%,'%'同样是取余,但是% 适用于整数取余,%是整数的取 ...

  6. c语言getchar函数的作用,c语言中getchar的用法函数用法

    当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止.下面小编就跟你们详细介绍下c语言中getchar的用法,希望对你们有用. c语言中getchar ...

  7. C语言中fgets()函数

    从文件结构体指针stream中读取数据,每次读取一行.读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsi ...

  8. matlab语言中的assert断言函数

    1.MATLAB语言没有系统的断言函数,但有错误报告函数 error 和 warning.由于要求对参数的保护,需要对输入参数或处理过程中的一些状态进行判断,判断程序能否/是否需要继续执行.在matl ...

  9. c语言中srand的作用,C语言中srand(), rand(), time()函数  转载

    srand函数 srand函数是随机数发生器的初始化函数. 原型:void srand(unsigned seed); 用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子,后面的r ...

  10. C语言中fscanf和fprintf函数的使用

    目录 一.前言 二.对比 1.scanf和fscanf: 2.printf和fprintf: 三.结论: 四.代码实现 1.fprintf相关代码 2.fscanf代码实现 3. 用fscanf和fp ...

最新文章

  1. etcd — 架构原理
  2. 电脑经验--三星S4显示互联网连接缓慢,网络已被禁用
  3. CYQ.Data V5 MDataTable 专属篇介绍
  4. 从DSSM语义匹配到Google的双塔深度模型召回和广告场景中的双塔模型思考
  5. MyEclipse移动开发教程:迁移HTML5移动项目到PhoneGap(二)
  6. pycharm通过pytest运行报错:No test were found 解决
  7. Android 系统定时管理器AlarmManager的使用
  8. 中国银行刘东海:净值产品短期难当主角 需关注资产集中处置风险
  9. 装tensorflow未果
  10. 金山毒霸 2011 SP2 论坛内测开始
  11. 中兴捧月算法挑战赛-RAW夜景图像去噪总结
  12. 词霸天下---141词根 【-habit- = -hibit- 拥有,占据,居住 】
  13. 【精】ContentProvider
  14. 大争之世智造为基,瑞科智能将亮相第21届SIMM深圳机械展
  15. 2022-08-11 乐理知识(八) 和弦——什么是和弦,三和弦,三和弦的转位,七和弦,七和弦的转位
  16. 集成百度语音识别(VS2017 C++ )
  17. mysql中去除富文本字段中的html标签
  18. 【第一讲】 Linux开发准备之电脑选择和VMware软件的安装
  19. c语言随机坐标函数,c语言随机数生成函数和时间函数
  20. 论文精读-YOLOv1:You Only Look Once:Unified, Real-Time Object Detection

热门文章

  1. 江苏民丰 x mPaaS | 县域小银行,技术团队就12人,却找到了数字化转型的秘籍
  2. numpy.linspace使用
  3. 如何用CSS画一个平行四边形?
  4. Ps 初学者教程「49」如何使用修补工具隐藏不需要的内容?
  5. Error:Metro Bundler can't listen on port 8081
  6. 开小酒馆前你一定要知道的3件事
  7. 又一巨头加速谋局本土化,海拉上海电子工厂产能翻倍
  8. 数据库事务和一致性处理
  9. 基于JavaWeb的企业采购管理系统(源码+论文)
  10. 如何在中国招聘一个财务总监