const 关键字的使用

1、const 关键字用于修饰变量,表示变量的值不可以被改变,只能被读取。它可以修饰全局变量、局部变量、类的成员变量等,如:

1int const a = 10;
C

2、const 关键字可以修饰函数的参数,表示函数的参数不可以被修改,如:

12void func(int const a){}
C

3、const 关键字可以修饰函数的返回值,表示函数的返回值不可以被修改,如:

12int const func(){}
C

volatile 关键字的使用

1、volatile 关键字用于修饰变量,表示变量的值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取,如:

1int volatile a;
C

2、volatile 关键字可以修饰函数的参数,表示函数的参数可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取,如:

12void func(int volatile a){}
C

3、volatile 关键字可以修饰函数的返回值,表示函数的返回值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取,如:

12int volatile func(){}
C

const 和 volatile 的区别

1、const 关键字用于修饰变量,表示变量的值不可以被改变,只能被读取;而 volatile 关键字用于修饰变量,表示变量的值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取。

2、const 关键字可以修饰函数的参数和返回值,表示函数的参数或返回值不可以被修改;而 volatile 关键字可以修饰函数的参数和返回值,表示函数的参数或返回值可能会被外部程序改变,编译器不会做优化,每次读取变量的值都从内存中读取。

3、const 关键字可以用于修饰指针,表示指针指向的内容不可以被修改,但是指针本身可以被修改;而 volatile 关键字不能用于修饰指针,因为它只能用于修饰变量。