几种常见的关键字

一.register:修饰寄存器变量;

作用:请求编译器尽可能的将变量存在cpu内部寄存器中。

优点:减少了cpu从内存中抓取数据的时间,可以提高程序的执行效率;

适用对象:频繁访问的变量用register修饰,例如循环变量等;

注意事项:

1.register只能修饰局部变量,不能修饰函数和全局变量;

2.不能用&来获取被register修饰的变量的地址,因为该变量可能不是在内存中存储,而在cpu寄存器中;

3.register不能修饰cpu不接受的数据类型。例如:有些cpu就不接受浮点型数据,所以不能用register修饰浮点型;


二.stastic

static可以修饰变量也可以修饰函数。

1.修饰函数:该函数只能在本文件中被调用,在其他文件中不能被调用;

2.修饰变量:

(1)修饰局部变量:可以延长变量的生存周期,当函数结束时变量并不被释放,在程序结束时才被释放;

(2)修饰全局变量:该变量只能在本文件中被访问,在其他文件中不可被访问;


三.extern

外部声明,可以引用其他文件中的局部变量;


四.const

const可以将一个变量变为只读变量,此时我们不能通过变量名来访问对应空间,(但可以有其他方式访问,并不是对应空间被禁止访问)。


例如,有程序如下:

const  int  num;

num = 5;

该程序是无法赋值成功的,

因为const修饰了变量num,所以我们不能通过num这个变量名对num对应空间赋值,但是如果还有一个指针指向了num对应的空间,我们还可以通过指针给num对应空间赋值。

以为这个特性,我们在函数定义形参的时候常常用它来修饰,这样可以保护实参变量的值,防止它被修改。

还需要注意的是const关键字修饰离谁近,谁不可以被修改。例如:

const int *p = #

离*p近,所以*p++,不可以,但是p++却可以。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值