嵌入式学习心得(十)变量和常量以及内存
2016-11-27 00:00
288 查看
一: 变量和常量
变量的三大特色:
变量的数据类型: 主要说明变量所占用内存空间的大小
变量的作用域: 变量的有效范围即变量的使用范围
变量的存储类型:变量在内存中存储方式,影响变量在内存中的生存周期
二:关于内存
计算机的三大组成部分:cpu 硬盘,内存
程序保存在硬盘中,进程是在内存中的,进程是程序被执行
内存包括 1G给了内核,剩下的3G给了用户空间,用户空间包括栈空间,堆空间,数据区,代码区
分配内存的三种方法:
栈空间
堆空间
数据区
<1>栈空间:两个特点:1.先进后出2 。系统来管理
栈空间用于存放局部变量,函数形参,自动变量
生命周期是所在函数 结束时释放
<2>堆空间 mallo ralloc callor 特点是1 用户管理 2 。 先进先出
<3>数据区 (常熟在数据区) 数据区包括oss 未知初始化全局变量 or(only read)常量,常量是不可以被修改的
还有包括静态数据区:Static 修饰变量 初始化的全局变量
生命周期是整个程序结束后再释放
区别(全局变量的初始化为0.局部变量的初始化值随机)
注意,当全局变量和局部变量重名时,局部变量起作用
变量的三大特色:
变量的数据类型: 主要说明变量所占用内存空间的大小
变量的作用域: 变量的有效范围即变量的使用范围
变量的存储类型:变量在内存中存储方式,影响变量在内存中的生存周期
二:关于内存
计算机的三大组成部分:cpu 硬盘,内存
程序保存在硬盘中,进程是在内存中的,进程是程序被执行
内存包括 1G给了内核,剩下的3G给了用户空间,用户空间包括栈空间,堆空间,数据区,代码区
分配内存的三种方法:
栈空间
堆空间
数据区
<1>栈空间:两个特点:1.先进后出2 。系统来管理
栈空间用于存放局部变量,函数形参,自动变量
生命周期是所在函数 结束时释放
<2>堆空间 mallo ralloc callor 特点是1 用户管理 2 。 先进先出
<3>数据区 (常熟在数据区) 数据区包括oss 未知初始化全局变量 or(only read)常量,常量是不可以被修改的
还有包括静态数据区:Static 修饰变量 初始化的全局变量
生命周期是整个程序结束后再释放
区别(全局变量的初始化为0.局部变量的初始化值随机)
注意,当全局变量和局部变量重名时,局部变量起作用
相关文章推荐
- 嵌入式学习心得十---变量常量及其存放方式y
- java基础学习总结三(jdk7新特性、变量(局部变量和成员变量)、常量以及运算符)
- 嵌入式学习10(C语言五大内存区间,变量的作用域和生存期,变量的存储类型)
- C++ 学习心得(常量与变量)
- 常量与变量以及在内存中存储形式
- 嵌入式学习心得(九)数据字节长度以及sizeof用法
- 【软考 1】变量和常量的分类,以及内存中的存储
- [ Java学习 ] Java变量以及内存分配(非常重要)
- swift学习第一天:认识swift以及swift的常量和变量
- golang语法学习(一):变量,常量以及数据类型
- 【软考 1】变量和常量的分类,以及内存中的存储
- PHP之变量、常量学习笔记
- 变量——全局变量,局部变量,常量分别保存在内存中的什么地方?
- 学习数组类时,碰到typeof(),对其实验引起的一连串知识点、学习小结和思考练习(涉及成员对象变量、成员常量、抽象类Type等知识)
- C/C++中关于地址、指针和引用变量的学习笔记(九) : 内存结构
- Java基础中环境变量的配置以及Java的内存资源调用分配机制
- 关于namespace或global作用域内变量和常量以及static修饰符
- 嵌入式linux的学习笔记-共享内存(六)
- JavaScript中全局变量、函数内变量以及常量表达式的效率测试
- JavaScript中全局变量、函数内变量以及常量表达式的效率测试