注册 登录  
 加关注

网易博客网站关停、迁移的公告:

将从2018年11月30日00:00起正式停止网易博客运营
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风雨启示录

欢迎光临我的网店优优我心:http://uumyheart.taobao.com

 
 
 

日志

 
 

引用 volatile static  

2010-05-28 10:23:23|  分类: C语言学习笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自seven《volatile static》

 

引用

sevenvolatile static

1.C/C++基础知识问题

a) 关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述)。

b) C语言中static关键字的具体作用有哪些 ?

c) 请问下面三种变量声明有何区别?请给出具体含义

int const *p;

int* const p;

int const* const p

 

参考答案

a) 用volatile关键字定义变量,相当于告诉编译器,这个变量的值会随时发生变化,每次使用时都需要去内存里重新读取它的值,并不要随意针对它作优化。

建议使用volatile变量的场所:

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

(2) 一个中断服务子程序中会访问到的非自动变量(全局变量)

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

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

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

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

     static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;

     static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;

     static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝;

 c) 一个指向常整型数的指针

     一个指向整型数的常指针

     一个指向常整型数的常指针

  评论这张
 
阅读(421)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018