变量

一、局部变量与全局变量

1、全局变量:静态存储

2、局部变量:

非static -> 动态存储

static -> 静态存储

二、动态存储

在程序运行时,对变量动态地分配内存。当变量所在函数退出时,释放空间。

三、静态存储

在程序运行时,对变量静态地分配内存。当变量所在函数退出时,不释放空间。当程序退出时,释放空间。

(即,下次调用时,这个变量的数据是上一次调用结束时的数据,且不再另分配内存)原理-_-

四、变量的四种类型

1、auto

auto int a 等效于 int a

退出函数时自动释放空间

2、register

将变量存放在寄存器中,而不是平常的内存中,当需要多次使用这个变量时,可以节省时间。

是建议性,不是强制性。只有频繁使用变量才会存放在寄存器中。同时,许多编译系统可以在没有定义register类变量的情况下,自动将使用频繁的变量存放在寄存器中

3、extern

声明外部变量/函数

如果在某个函数中需要使用外部变量(如果需要使用全局变量,而全局变量在该函数以下定义 | 或者如果需要使用别的文件的变量),需要声明

例:extern int a;

注意:如果这个变量没有在全局中声明,那么每一个需要使用到该变量的函数都需要声明(表达能力太差,自行理解)

函数同理,函数也可以在某个函数中声明

4、static

分两类

1)局部变量

假设用在某函数中,当它第一次被调用时,需要分配内存。当它下一次被调用时,使用同一个变量使用上一次所分配的内存与数据。

2)全局变量

如果以static定义,那么在其他文件中,不可声明这个变量,但可以用static定义一个与该变量名相同的变量,且互不影响。

函数同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值