c中关键字的用法(const、static、volatilel)

1. 关键字static的作用是什么? 

在C语言中,关键字static有三个明显的作用: 

1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 

2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 

3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

2.关键字const:

 const 意味着声明的变量为只读变量,其值不可改变。

const int a;  a是一个常整型数

int const a;  a是一个常整型数

const int *a;  a是一个指向常整型数的指针

int * const a;  a是一个指向整型数的常指针

int const * a const;  a是一个指向常整型数的常指针

 

前两个的作用是一样,a是一个常整型数。

第三个意味着a是一个指向常整型数的指针(整型数是不可修改的,但指针可以)

第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。

最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数 是不可修改的,同时指针也是不可修改的)。

3.关键字volatile:

一个定义为volatile的变量是说这变量可能会被意想不到地改变,被定义为volatile的变量,优化器每次用到这个变量时都会重新读取这个值,而不会用保存在寄存器中的值,防止变量被优化。例子:

1)并行设备的硬件寄存器

2)一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) 

3)多线程应用中被几个任务共享的变量 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值