2019/9/3 C语言的内存管理

为什么要学:嵌入式开发中内存资源非常有限
常见错误:
1、内存申请未成功,就进行使用
2、内存申请成功,但没有初始化(造成内存出错)
3、内存初始化成功,但越界访问(内存崩溃)
4、忘记释放内存或者释放一部分(造成内存泄漏)
 
C语言需要手动管理:malloc()、free()、new()
 
C语言的内存分类:
1、栈区(stack):系统自动分配
2、堆区(heap):程序员手动分配、释放
3、全局区(静态区):所有的全局变量、静态变量(static)
4、常量区:日常使用的常量字符串
5、代码段:存放执行代码
6、数据段:.data段:静态内存分配:已初始化的全局变量(且非0)
          .bss段:未初始化的全局变量(或初始化为0)

猜你喜欢

转载自www.cnblogs.com/epll/p/11450657.html