变量声明和定义的关系------c++ primer
发布日期:2022-04-04 06:36:27
浏览次数:17
分类:博客文章
本文共 566 字,大约阅读时间需要 1 分钟。
为了允许把程序分成多个逻辑部分来编写,c++语言支持分离式编译机制
为了支持分离式编译,c++语言把声明和定义区分开来。声明(declaration)使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。而定义(definition)负责创建与名字关联的实体。
变量声明规定了变量的类型和名字,在这一点上定义与之相同。但是除此之外,定义还申请存储控件,也可能会为变量赋一个初始值。
如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显示地初始化变量:
extern int i;//声明i而非定义iint j;//声明并定义j
任何包含了显示初始化的声明即成为定义。我们能给extern关键字标记的变量赋一个初始值,但是这样做也就抵消了extern的作用。extern语句如果不包含初始值就不再是声明,而变成定义了:
extern double p=3.13;//定义
在函数内部,如果试图初始化一个有extern关键字标记的变量,将引发错误。
变量能且只能被定义一次,但可多次声明。
如果要在多个文件中使用同一个变量,就必须将声明和定义分离。此时,变量的定义必须出现在且只能出现在一个文件中,而其他用到该变量的文件必须对其进行声明,却不能重复定义。
转载地址:https://www.cnblogs.com/l2017/p/9338454.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月13日 19时13分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
安卓开发入门教程-常用工具_Log
2019-04-26
安卓开发入门教程-通过WebView打开网页
2019-04-26
安卓开发入门教程-通过MediaPlayer播放音频
2019-04-26
安卓中如何实现左滑菜单
2019-04-26
安卓流式布局FlowLayout样例
2019-04-26
Kotlin打印方法执行耗时
2019-04-26
如何让文本居右对齐,换行后又居左对齐
2019-04-26
给Eclipse安装Google app engine插件
2019-04-26
java package 重命名时注意事项
2019-04-26
无法访问developer.android.com解决方法
2019-04-26
安卓Toolbar使用 Demo(Kotlin)
2019-04-26
使用JetPack中Navigation简化fragment切换
2019-04-26
MVVM中未生成binding类解决方法
2019-04-26
Rejecting re-init on previously-failed class java.lang.Class androidx.core.view.ViewCompat
2019-04-26
chrome插件下载github指定文件夹
2019-04-26
快速上传一个本地目录到github或码云
2019-04-26
安卓最好的异步任务执行框架:kotlin协程(coroutines)
2019-04-26