
--------【内存管理】
文章平均质量分 86
加油11
模仿模仿再模仿!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内存操作经典问题分析
1 野指针1.1 野指针的概念指针变量中的值是非法的内存地址,进而形成野指针。野指针不是NULL指针,是指向不可用内存地址的指针。NULL指针并无危害,很好判断,也很好调试。C语言中无法判断一个指针所保存的地址是否合法。1.2 野指针的由来局部指针变量没有被初始化。指针所指向的变量在指针之前被销毁(返回局部变量和局部数组)。使用已经释放过的指针。进行了错误的指针运算。进行了错误的原创 2017-12-28 17:24:19 · 228 阅读 · 0 评论 -
动态内存分配
1 动态内存分配的意义C语言中的一切操作都是基于内存的。变量和数组都是内存的别名: 内存分配由编译器在编译期间决定;定义数组的时候必须指定数组长度;数组长度是在编译期就必须确定的。需求:程序运行的过程中,可能需要使用一些额外的内存空间。2 malloc和freemalloc和free用于执行动态内存分配和释放。malloc所分配的是一块连续的内存(不会对内存进行初始化)。malloc原创 2017-12-25 20:31:22 · 411 阅读 · 0 评论 -
栈、堆、静态存储区和程序的内存布局
1 栈1.1 程序中的栈栈是现代计算机程序里最重要的概念之一。栈在程序中用于维护函数调用上下文。函数中的参数和局部变量存储在栈上。栈是一种后进先出的行为。1.2 函数调用过程栈保存了一个函数调用所需的维护信息:参数、返回地址、局部变量、调用上下文、……每次函数调用都对应着一个栈上的活动记录。调用函数的活动记录位于栈的中部。被调函数的活动记录位于栈的顶部。函数调用栈变化这里返回地址描原创 2017-12-26 20:22:53 · 848 阅读 · 0 评论 -
内存这个大话题
1 程序运行为什么需要内存1.1 计算机程序运行的目的计算机为什么需要编程?编程已经编了很多年,已经写了很多程序,为什么还需要另外写程序?计算机有这个新的程序到底为了什么?程序的目的是为了去运行,程序运行是为了得到一定的结果。计算机就是用来计算的,所有的计算机程序其实都是在做计算。计算就是在计算数据。所以计算机程序中很重要的部分就是数据。计算机程序 = 代码 + 数据。计算机程原创 2018-01-05 17:33:01 · 690 阅读 · 0 评论