变量的三大特点:
-
变量的数据类型:占用内存空间的大小(字节长度)
-
变量的作用域:变量的有效范围,即变量的使用范围;
-
变量的存储类型:变量在内存中的内存方式,不同的存储方式,影响变量在内存中的生命周期;
计算机的三大组成:
内存
硬盘
CPU
硬盘和内存的区别:
硬盘存放的是静态数据,而内存存放的是动态数据,但是硬盘吊链数据不丢失,内存就是会丢失,程序存在硬盘,运行在内存;
如何提高计算机的运行效率:
-
单核变双核(但是要换的话,需要换CPU,成本太高,所以不采取)
-
提高主频(功耗大,散热慢容易烧坏电脑,所以也不采取)
-
提高内存(直接插内存条),一般采取这个方案
进程是当一个程序运行时保存在内存中;
MMU内存管理单元(把虚拟空间映射到物理内存)
进程虚拟地址空间(4G)的分配:
1G给内核
3G给用户
{
栈空间(局部变量,函数形参,自动变量,返回值),其特点:先进后出,系统管理
堆空间(malloc ralloc calloc 分配空间)其特点:用户管理 先进先出
数据区(bss 未初始化的全局变量,or 常量, 静态数据区:static修饰变量 初始化的全局变量)特点是整个程序结束后释放程序
代码段:保存代码;
}
局部变量与全局变量的区别:
-
从内存分配上:局部变量在栈空间,全局变量在数据区
-
从作用域上:局部变量当前函数执行结束即释放,全局变量是整个函数执行结束;
-
从变量的初始化上:局部变量系统给垃圾值,全局变量系统给0;
声明与定义的区别:
声明:声明不需要分配内存空间,可以声明很多次;
定义:定义需要分配内存空间,可以定义一次;