类别标识符与存储类别

存储类别、链接和内存管理

概念

  • 对象:一块存储数据的内存

  • 存储期:对象在内存中保留了多长时间

  • 翻译单元:源代码文件和头文件可以看成一个包含信息的单独文件,即翻译单元

作用域

描述程序的哪些部分能使用变量

链接

无文件作用域的变量都是无链接变量

外部链接变量可以在多文件程序中使用,内部链接变量只能在一个翻译单元使用。(都具有文件作用域)

存储期

静态存储期

static 静态变量:在程序执行期间一直存在,即离开变量所在函数后,变量不会消失。

  • 在函数中声明的静态变量具有块作用域
  • 在函数外声明的静态变量具有文件作用域

ps:如果未初始化,静态变量将会被设置为0

文件作用域变量都具有静态存储期。()

static int stay = 1; 		//内部链接
int traveler = 1;			//外部链接

存储类别说明符

名称类别作用域链接内存分配
auto自动变量块作用域程序运行的所在块时
register寄存器变量块作用域同上
static内部链接1文件作用域或块作用域内部链接程序编译时初始化
extern外部链接2文件作用域外部链接同上
_Thread_local
typedef

此处为瞎起的名​,​不要介意:happy:


多文件

如果外部变量被定义在一个文件中,其他文件在使用该变量之前必须用extern声明它

restrict

用于指针,报名该指针是访问数据对象的唯一且初始的方式

volatile

代理可以改变该变量的值

volatile int locl;		 //易变的位置
volatile int * polc; 	//指向易变位置的指针

  1. 静态内部链接 ↩︎

  2. 静态外部链接 ↩︎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值