auto extern static register

auto

函数内定义的变量(即局部变量)为auto类型,进入函数或者语句块自动申请内存,退出语句块或函数时被自动释放。
函数外定义的变量(即全局变量)为extern类型。


static

static变量
静态局部变量 作用域为函数,生存期和整个程序生存期一样
静态全局变量 作用域为本文件,禁止其他文件访问

static函数
作用作用域为本文件


extern

extern变量
在file1中定义,在file2中想要引用此变量可以
1) extern int a; 进行申明
2) 在#include “xxx.h”中引入.h文件中变量的申明,如int a,这个申明即使没有extern,也是默认extern的。

#include “xxx.h”其实编译的时候用file.h文件内容取代

extern函数
函数定义,在别的地方extern这个函数,函数的名称会导出到链接器

函数定义的存储类别只有extern和static,若函数中没有指定存储类别,默认为extern,外部想引用别的文件的函数,可以
1) extern func_name 进行申明
2) 在#include “xxx.h”中引入.h文件中函数的申明,这个申明即使没有extern,也是默认extern的。


register

很少被使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luckywang1103

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值