学习目标
学习c++中的存储持续性、作用域、链接性
学习内容
🎈存储持续性、作用域、链接性:🎈
三种存储方式
1、自动存储:系统自行分配内存和释放内存,在栈里面操作
2、静态存储:(1)在函数外进行声明(2)在函数内用static声明
3、动态存储:利用new和delete进行操作,由程序员自行分配和释放,在堆里操作
1、自动存储:
在函数定义和函数参数声明的变量,作用域是局部作用域、无链接性
系统自己在栈区内创建的临时内存,比如在函数内部定义一个变量 int num=10;
那么编译器会自动在栈区内开辟一个临时变量来存储,函数调用完自动释放
2、静态存储:
a:外部链接性:必须在代码块外部声明,称之为全局变量,外部变量
b:内部链接性:必须在代码块外部声明,并且用static修饰
c:无链接性:在函数内部声明,并且用static修饰
3、动态存储:
使用 new和 delete来实现,有程序员来使用
存放区域有5个:
1、栈区:自动存储方式
2、堆区:程序员自由分配和释放的,new和delete
3、全局区:声明的全局变量等
4、常量区:文字常量、保存常量的区域
5、代码区:函数体