【青鸟飞扬教育】C语言约内存管理一起去爬山!说:您看我可吗? |
|
作者:佚名 文章来源:本站原创 点击数: 更新时间:2024/9/25 6:13:20 | 【字体:小 大】 |
尼格买提主持春晚在任何程序设计环境和语言中,内存管理都十分重要。这本文章基于C语言的基础上讲解内存管理。 这些是在学习和看别人优秀博客总结的知识点,由于个人水平有限,所以可能不够具体不够深入,见谅!
✌ 一个进程在运行过程中,代码是根据流程依次执行的,只需要访问一次,当然跳转和递归有可能使代码执行多次,而数据一般都需要访问多次,因此单独开辟空间以方便访问和节约空间。
✌ 全局数据和静态数据有可能在整个程序执行过程中都需要访问,因此单独存储管理。
☠*void malloc(int num)在堆区分配一块指定大小的内存空间,用来存放数据。这块内存空间在函数执行完成后不会被初始化,它们的值是未知的。
☠*void calloc(int num, int size)在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size 个字节长度的内存空间,并且每个字节的值都是0。
静态内存分配是在程序执行之前进行的因而效率比较高,而动态内存分配则可以灵活的处理未知数目的。
静态对象是有名字的变量,可以直接对其进行操作;动态对象是没有名字的一段地址,需要通过指针间接地对它进行操作。 静态对象的分配与释放由编译器自动处理;动态对象的分配与释放必须由程序员显式地管理,它通过malloc()和free两个函数来完成。
|
电脑内存录入:admin 责任编辑:admin |
|
上一个电脑内存: 拍得丽68 下一个电脑内存: 没有了 |
|
|