C笔记系列二:变量存储类型

本文介绍了变量的三种存储类型:static静态类型、auto动态类型和register存储器类型,并详细解释了它们的特点与使用场景。此外还介绍了变量声明的格式及其在程序中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

staticautoregister变量存储类型{static静态类型auto动态类型register存储器类型

变量声明格式:[存储类型] 变量类型 变量名
(当存储类型缺省时,默认为auto)

staticPCB进程三部分{代码段:存放代码的二进制指令、static变量等数据段:存放在程序进行过程中产生的临时数据及数据结构等PCB:进程控制块

static

static变量,和程序代码一同存放在代码段中。在程序链接时,会对static变量分配空间并初始化,并在整个进程的生命周期中一直存在,不释放,有且仅有一份,无副本。在进程的执行过程中,除了一开始程序链接时的初始化外,static变量就不会再执行初始化操作(即在函数执行中,若遇见static初始化语句,会自动略过)。若static变量未被人为地初始化,则链接程序会自动初始化为0。
需注意,尽管变量一直存在,但是作用域并未扩大,还是仅在原来的作用域内才可见。全局变量其实也是static变量,只是其作用域为全局可见。

auto

在每次函数调用时分配存储空间,每完成以此函数调用,就会释放auto。

register

特性与auto相同,只是编译系统会把变量装入CPU的寄存器中。若无可用寄存器,则等同与auto。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值