【C++——内存四区、存储类别】

存储类别:

auto自动(C)

static静态:只初始化一次,有作用域,生命周期是程序结束,没有初始化和全局变量一样初始化为0;

register寄存器:变量放到寄存器,就不能对变量取址 (C)

extern外部:因为全局区的变量属于程序,所以在其他文件中不能重复定义,如果要在其他文件使用就加上extern。函数同理。与之相反的就是static,自己文件的作用域使用。

内存四区:栈,堆,全局,代码

代码区(汇编):存放函数的二进制代码,函数的执行过程,操作系统管理。函数指针可以操作代码区函数。实现数据区操作代码区,也就是程序员操作OS。

栈:编译器自动分配和释放,存放函数的参数,局部变量的值。汇编可以操作栈。

堆:malloc,free,new,delete程序员分配和释放,如果程序员不释放,程序结束由OS回收。

全局区(静态区):常量字面量,全局变量,静态。程序结束系统释放。

相关推荐
weixin_4440129313 小时前
c++如何将std--vector直接DUMP到二进制文件_指针地址直写【附代码】
jvm·数据库·python
woxihuan12345613 小时前
Go语言中--=运算符详解:位右移赋值操作的原理与应用
jvm·数据库·python
m0_6908258214 小时前
如何备份被破坏的数据表_强制跳过错误的导出尝试
jvm·数据库·python
m0_7335654614 小时前
JavaScript中Reflect-ownKeys获取所有键名的优势
jvm·数据库·python
2301_8159019715 小时前
C#怎么使用协变和逆变 C#泛型中的in和out关键字协变逆变是什么意思怎么用【语法】
jvm·数据库·python
m0_4636722015 小时前
SQL优化SQL关联查询中的排序字段_减少临时空间占用与内存开销
jvm·数据库·python
iuvtsrt15 小时前
存储过程如何处理海量数据的批处理_循环提交与分段LIMIT结合
jvm·数据库·python
yexuhgu16 小时前
SQL如何检查字符串是否存在:INSTR与LOCATE函数使用
jvm·数据库·python
2301_7838486516 小时前
SQL如何用SQL子查询实现关联报表生成_嵌套逻辑关联多表
jvm·数据库·python
2501_9010064716 小时前
Golang怎么用gRPC Gateway_Golang gRPC Gateway教程【经典】
jvm·数据库·python