一、Static关键字
1、static是什么?
static是C/C++语言中常见的一个关键字,就像int,break,while,for等一样,都属于关键字。
2、static怎么用?
在C语言中,static被用来修饰变量与函数。其用法概括为以下三个方面:
(1)修饰局部变量
static修饰局部变量,使得局部变量生命周期变成全局变量的生命周期,但作用域不变。
即如果在调用某个函数时,这个函数中的变量如果没有加static关键字,每次调用都会对其重新赋值。
如果加了static关键字的话,则会保留之前执行过的值。
(2)修饰全局变量
static修饰全局变量,使得全局变量成为静态全局变量。
static修饰全局变量,使得全局变量作用域只限于当前文件,不可被跨文件使用。
(3)修饰函数
static修饰函数,使得函数成为静态函数。
static修饰函数,使得函数只限于当前文件使用,不可被跨文件使用。
二、volatile关键字
1、volatile是什么
volatile是C/C++语言中常见的一个关键字,就像int,break,while,for等一样,都属于关键字。
2、volatile怎么用
从内存中读取数据,避免在使用中数值改变从而读取到的数据不准确。
volatile是一个类型修饰符(type specifier),就像我们熟悉的const一样,它是被设计用来修饰被不同线程访问和修改的变量;volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。