首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

const跟volatile是否可以同时修饰一个变量?有什么特殊含义

2012-09-08 
const和volatile是否可以同时修饰一个变量?有什么特殊含义?QUESTION:const和volatile是否可以同时修饰一个

const和volatile是否可以同时修饰一个变量?有什么特殊含义?

QUESTION:const和volatile是否可以同时修饰一个变量?有什么特殊含义?
ANSWER:如果一个变量不会被本程序改变,通常可能给它加上const,但如果该变量可能被其他程序改变而本程序又在检测这个变量的值,就需要给它加上volatile,于是变量就同时有volatile和const了

 const和volatile是可以同时修饰一个变量的  const只是表示变量只读 不能出现在赋值号左边  防止程序“意外”修改   并且编译器一定会做优化 不会每次去内存取值  这个时候如果外部事件 如中断服务程序 改了这个变量的内存值  那么由于编译器优化就不会出有反应 这样会导致错误  加上volatile就告诉编译器 不要做任何优化  并且每次都去内存取值  而且这个变量不可以当左值使用 . 大家看 这个求平方的函数有没有问题
unsigned long square(int a){return a * a;}



热点排行