C++primeplus 内存空间 1

内存空间

1. 头文件

1.头文件中可以包含的内容
在这里插入图片描述

2.生存期 、作用域 、连接性

在这里插入图片描述

3.自动变量的存储

自动变量采用栈的方式进行存储。

4.静态变量

1.静态变量如果没有显示的初始化,将被初始化为0

5.连接性为外部变量

1.定义声明

//file1
int a;

2.引用声明

//file2
extern int x;//
//如果extern int x = 1;则相当于定义

在这里插入图片描述

7.存储说明符&CV限定符
auto //用于类型自动推断
register //寄存器变量
static //放在函数内部表示为静态存储,放在函数外边表示连接性为内部
extern //代表引用其他地方的值
thread_local //应用于线程,就像普通程序里面的静态变量
mutable//

在这里插入图片描述

//CV限定符
const //不可修改的变量,符号常量
volatile
//有时候,程序会把对此读取到的变量进行缓存,而不是直接从内存中进行读取,
//这时候,如果是串口数据,那么读取到的值将不会根据串口输入而变化,volatile告诉编译器不要进行这种优化。

在这里插入图片描述

8.函数和链接性

1.默认情况下,所有的函数都为静态存储,外部链接性。
2.可以在函数原型中使用extern关键字表明函数在其他文件中定义(可选的,因为链接时,会去寻找函数的定义)
3.可以增加static关键字说明函数连接性为内部。
4.内联函数不遵守单定义规则吗,其可以包含在每一份源代码中,但是每一份的定义必须相同。

9.语言连接性

在这里插入图片描述

10.动态内存分配

1.通常,编译器 使用三块内存:一块用于静态变量,一块用于自动变量,一块用于动态存储。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

11.定位NEW运算符

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值