C语言 用extern修饰一个在别处volatile修饰的变量需要再加volatile吗

比如在a.c中定义了volatileinta;,然后在b.c文件中需要用a.c文件中的a变量,那么在b文件中用externvolatileinta;和externinta... 比如在a.c中定义了volatile int a; , 然后在b.c文件中需要用a.c文件中的a变量,那么在b文件中用extern volatile int a; 和extern int a; 引用a变量有区别吗?这两者在IDE中均编译通过。 展开
 我来答
匿名用户
2019-01-14
展开全部
有区别。加了volatile关键字在编译此文件时不做优化。编译器是以.c文件为编译单位的。
不加编译能通过,但有可能是你不想要的结果。
DoramiHe
2018-08-30 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25335 获赞数:59533
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
constconstnat常数、恒量其中的值不能被改变 autoautomatic自动变量,编译器会决定变量的生命周期。应该不会有人真的用到这个关键字吧? continue继续,忽略循环体内continue之后的语句,直接跳到下一次循环 do和while配合使用组成循环 double双精度数据类型 externexternal外部声明通常用来声明变量的定义不再当前的编译单元内 long长型数据类型修饰符 register寄存器建议编译器使用寄存器保存变量 return返回,从函数中返回 short短型数据类型修饰符 singned你写错了,应该是:signed。有符号变量有正负 static静态用来声明静态变量、函数。不过静态变量和函数意义不同 sizof(sizeof)求某个变量的尺寸 struct结构声明、定义结构 typedef定义类型自定义类型 union联合用来定义联合 unsigned无符号变量不考虑负数 void空空值 volatile易变值告诉编译器不准优化该变量,这个变量不知道什么时候就会变 constconstant enumenumerate gotogoto singned你写错了,应该是signed sizofsizeof structstructure typedeftypedefinition
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式