Int num = 5
变量的三大特点:
变量的数据类型:主要说明变量占用内存空间的大小。如int型。
变量的作用域:变量的有效性的范围。即:变量的使用范围。
变量的储存类型:变量在内存中的储存方式,不同的储存方式,影响变量在内存中的生存周期。
计算机的三大组成部分:CPU 内存 硬盘
动态数据 静态数据
内存:共享设备 稀缺资源
程序是保存在硬盘里
进程是在内存中运行
虚拟地址空间的4G分配
最高地址内核分配1G,3G为用户空间,分配为栈空间、堆空间、数据区、代码段。
栈空间:特点:先进先出‚系统管理
局部变量、函数形参、自动变量
数据将在函数结束之后释放。
栈空间的变量,不初始化,则为垃圾值。
保存在栈空间的数据,没有赋值,给个随机值
堆空间:malloc ralloc calloc
特点:用户管理‚先进先出
数据区:特点:作用域为整个程序
bss段:未初始化的全局变量
or段:only read,只读段,常量
静态数据区:static,修饰变量,初始化的全局变量
该区域中,未初始化得变量保存在bss段中,会自动置0.
整个程序结束之后再释放
全局变量初始化为0,常量不能被修改。
分配内存有三种方式:栈空间、堆空间、数据区。
全局变量和局部变量的区别?
局部变量:栈空间 作用域:函数结束后释放 需要定义初始值 否则就是垃圾值
全局变量:数据区 整个程序结束后释放 初始值为0
全局变量和局部变量命名相同时,局部变量起作用。
定义和声明的区别?
声明不需要分配空间 声明可以声明很多次。
定义需要分配空间 定义值可以定义一次。