1.在c语言中,内存模型分为栈和堆。

2,这两种模型内存的方式是不同的,在栈中存放的变量是由系统自动管理的,在函数结束后系统会自动释放,不需要人为的进行任何操作。

3,而在堆中存放的是用户自己管理的内存,手动分配的,malloc建立,系统不会在函数体执行结束后自动释放,需要用户手动释放通过free函数。

当你对分配的空间进行自己的管理和释放需要使用malloc,或者当你的分配的空间在函数结束后还需要存在。

int * create()
{int *p = (int*)malloc(sizeof(int));//此时在堆中建立了存放int的空间。*p=2;returen p;
}
int main()
{int *a = create();//此时执行完后 刚刚在函数体内用malloc分配的空间还在,还存着2。printf("%d",*a);//输出2
}

什么情况下指针需要使用malloc分配内存,什么时候不需要相关推荐

  1. 在什么情况下我应该使用malloc和/或new?

    我看到在C ++中有多种分配和释放数据的方法,并且我了解,当您调用malloc您应该调用free而当您使用new运算符时,您应该与delete配对,并且将两者混用是错误的(例如,调用free()在使用 ...

  2. malloc分配内存的原理?

    malloc分配内存的原理 malloc的原理 1.放置已分配的块 2.分割空闲块 3.合并空闲块 malloc的原理 步骤分为放置.分割和合并 在堆中,堆块由一个字的头部.有效载荷.填充以及一个字的 ...

  3. ​进程malloc分配内存​:brk and mmap

    转自Ruo_Xiao:侵权联删! 从操作系统角度来看,进程分配内存有两种方式,分别由两个系统调用完成:brk 和 mmap(不考虑共享内存). brk 的实现方式是将 Data Segment 的最高 ...

  4. malloc分配内存的实现中brk和mmap的区别

    malloc函数族: #include <stdlib.h>void *malloc(size_t size);void free(void *ptr);void *calloc(size ...

  5. malloc的内存分配原理

    0 堆内存的在计算机内存中的形式 根据<The C Programming language>推测得到堆内存,图中的Heap区域即为堆内存块(Heap区域的数目不代表计算机堆内存的真实数目 ...

  6. C Primer Plus 第12章 12.6 分配内存:malloc()和free()

    2019独角兽企业重金招聘Python工程师标准>>> 首先,回顾一些有关内存分配的事实.所有的程序都必须留出足够内存来存储它们使用的数据.一些内存分配是自动完成的.例如,可以这样声 ...

  7. C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?

    C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题? 问题1:结构体指针最开始怎么分配内存?用sizeof()是不能确定大小的. 问题2:给结构体变量分配之后,是否还要 ...

  8. 不停应用重启oracle数据库,此类情况下解决Oracle数据库重启的四种方案

    原题:Oracle数据库重启(内存参数numperm_global相关) 故障描述 Oracle数据库发生重启. 系统环境 AIX 6100-07-05-1228 Oracle 11g 故障分析 首先 ...

  9. Linux环境下多线程C/C++程序的内存问题诊断

    目录 说明 常见的内存错误举例 常见的内存访问错误有以下几种: 内存问题定位步骤 野指针 内存释放后使用(UaF,Use after Free) 内存问题检查工具 常见的内存问题检查工具 Valgri ...

最新文章

  1. 全民K歌内容挖掘与召回
  2. ubuntu下安装配置hadoop
  3. html:web前端开发规范
  4. python爬虫视频 下载 黑马_Python爬虫能爬视频么(python爬虫零基础视频教程)
  5. AudioContext
  6. 句句真研—每日长难句打卡Day17
  7. 开发基于GUI的R包(2)
  8. 危险无处不在 Html标签带来的安全隐患
  9. 【教程】油猴脚本开发入门教程
  10. Red Giant红巨人特效插件助力制作影视大片特效
  11. cwRsync同步工具的使用
  12. 如何解开payload.bin获取包括Android内核在内的系统镜像文件?payload.bin解包教程
  13. handsome主题添加服务器信息,handsome主题时光机微信发送系统
  14. jMetal学习笔记(二)-NSGAii源码解读
  15. 计算机根号的3次方怎么,excle 开几次方|excel中咋开3次根号啊
  16. 永不停歇(obama在亚利桑那州治大学毕业典礼上的演讲)
  17. Java小白入门200例39之Java字符串拼接(连接)
  18. Springboot—mysql+mybatis+generator插件
  19. 辛酸篇----一套房产八个名字!婚姻岂能如此设防
  20. 谈谈对“周日焦虑症”的看法

热门文章

  1. 动态数据采集业务逻辑
  2. codeforces 250B Restoring IPv6
  3. ARM体系结构2:处理器内核和汇编指令集
  4. DFS算法之无序列表转换为平衡二叉搜索树
  5. Prolog不是hentai
  6. 手机电脑如何使用OTG连接U盘教程及OTG功能常见问题解答
  7. 数据的处理方法及触摸屏终端
  8. 解决pdf不能打印,不能注释,不能修改,不能保存等文档限制
  9. 对于干涉仪二维测向的一些要点
  10. OMIM 表型和基因如何关联