c语言中修饰变量,在C语言中修饰变量的关键字

auto :用来定义自动申请内存、自动释放内存的变量(局部变量、块变量)

不加就代表加,与signed一样(注意:全局变量前不能使用)

const :是对变量提供保护,定义出来不一定是常量,但不决定安全

变量一旦初始化后,就不能显示修改的值

const修饰被初始化过的全局变量才是真正的变量,一旦修改就会出现错误,因为编译器把这种全局变量的储存位置划分成text

static:(限制作用域《全局变量和函数》,改变存储位置、延长生命周期《局部、块变量》)

《1》修饰变量

修饰全局变量:会限制全局变量的作用域,只能在他所在的.c内使用

修饰局部、块变量:改变存储位置由栈改为bss(无初始化)或data(初始化)但使用范围(作用域)没有变,并会延长生命周期

《2》修饰函数

const int f(void):const修饰返回值

static int f(void):static修饰函数

有普通函数(外部函数)变成内部函数,只能在.c中作用

register:

计算机的存储介质:硬盘-》固态硬盘-》内存条-》缓存-》寄存器

申请把变量的储存位置更改为寄存器,不一定成功

寄存器变量不能取地址,&变量名(错的)

volatile :不确定,易变的

如果一个变量值没有被显示的修改,编译器不会再次从内存他的数值,而是直接使用上次的读取结果(优化)

volatile的功能就是告诉编译器变量的值随时会发生改变,不要优化他的取值过程(每次用到变量时都去内存中获取他的值)

int num=10

num==num;永远为真

volatile int num=10

num==num;不一定为真

extern:声明变量,多文件中共享全局变量时,谁使用谁声明

定义:创建变量名,分配存储空间

声明:创建变量名

a.c中定义一个全局变量,b.c中也想使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值