全局变量 局部变量 static autoregister extern

本文详细介绍了C语言中的变量存储类别,包括全局变量、局部变量、静态局部变量和外部变量。全局变量未初始化时默认为0,局部变量则没有默认值。静态关键字static用于控制变量的作用域和生命周期,例如使局部变量保持其值,限制全局变量的可见性。此外,还提到了寄存器变量的概念,虽然现代系统可能不再需要手动指定,但理解其原理仍然重要。
摘要由CSDN通过智能技术生成

全局变量

全局变量不初始化时系统默认为0;局部变量没有默认值。

1.静态外部变量(只限本文本)(加static)

2.外部变量(既非静态的外部变量,允许其他文件引用)

局部变量

自动变量,既动态局部变量(离开函数值就会消失)(自动auto)

静态局部变量(离开函数值保留)(使用static)

寄存器变量(离开函数值就消失)

(形式参数可以定义为自动变量或寄存器变量)

如果一个局部变量的值不想被释放掉,就在前面加static局部变量的值就会变为静态;

如果一个全局变量的值不想被其他文件引用,只在其所在文件中使用就在前加static;

static int a;//静态局部整形变量或静态外部整形变量;。

//函数中变量不随函数结束就消失,而保留原值,空间不释放。

auto char c;//自动变量,在函数内定义;

//局部变量如果不专门声明为static(静态)存储类别,都自动默认为auto动态存储区中。

register int d;//寄存器变量,在函数内定义;

//以前版本低,运算器与内存互交流工作,导致变量使用频率过多时就会存储和拿出运算,

//使计算变慢,所以次函数,将所用变量暂时放入CUP存储器中。

//对于常使用的变量,减少运算时间,就将本该存放在内存中的值,暂时存放在CPU中直接运算。

//现在系统自动识别使用频率高的自动放入CPU的寄存器中。

extern a;//将已定义外部变量a的作用域引用至此(可跨文件引用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值