![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言基础
文章平均质量分 79
春哥的嵌入式小世界
喜欢写一写个人总结和分享自己学到的东西,如果这些文章能帮到你,请给个关注。也欢迎大佬指导我。
展开
-
C语言基础分享——内存管理3
嗨喽,我是春哥,今天主要介绍段错误以及调试方法,经常遇到段错误,对C语言的理解才会更深。 个人建议收藏此文,这应该是介绍调试方法比较全面的了。 先介绍一下什么是段错误,段错误就意味着你访问了错误的内存段,一种情况是你没有这个内存段的权限,另一种情况就是根本不存在对应的物理地址,比如0地址。 我们知道,系统运行程序时会给程序分配一段内存空间,通常这个值由gdtr来保存,它是一个48位的寄存器,其中32位用于保存由它指向的gdt表;后13位用于保存相应于gdt的...原创 2021-10-30 12:21:29 · 199 阅读 · 0 评论 -
C语言基础分享——内存管理2
内存分配的三种方式: 静态存储区域分配:内存在编译时就已经分配好,这块内存在整个运行期间都存在,例如全局变量、static修饰的变量等。 在栈上分配:在执行函数时,函数内的局部变量的内存都在栈上分配,函数执行结束这些内存会自动被释放。栈内存的分配运算使用内置于处理器的指令集,效率高,但分配的内存有限。 在堆上分配,也称动态分配:程序在运行时用malloc或new申请所需要的内存,程序员自己负责何时用free或delete释放内存。动态内存生存周期由程序员决定,使用灵...转载 2021-10-30 12:18:14 · 211 阅读 · 0 评论 -
C语言基础分享——内存管理1
上次面试直接被面试官说我C语言基础差,主要是内存管理这一块有点不清楚,所以复习一下。 我的介绍会比一般教科书要深入很多,一次性分享的话会有很多内容,怕大家视觉疲劳,所以我打算分成几次分享,希望大家喜欢。 今天主要介绍数据的存储区域,上次考察也主要是这个。四区分布图 进程空间大致分为这四个部分,但是这个图并不适合我们今天的介绍,因为代码段还可以细分。 目前有这几种区分方法1...转载 2021-10-19 16:00:27 · 110 阅读 · 0 评论