当前位置: 首页 > news >正文

【C++】2.2.2 变量声明和定义的关系

因为在生活中,可能需要不同的人编写不同的文件,或者一段程序需要拆分成很多不同的模块,可能一个文件中需要用到另一个文件中的变量。这就需要分离式编译,因此C++使用分离式机制,将声明(declaration)和定义区分开来。

一个文件如果使用在别的文件中定义的变量,就在该文件中就必须包含对该变量的声明。

变量声明规定了变量的类型和名字,而定义在规定变量类型和名字的同时,还会申请存储空间,定义还可能会给变量初始化。


int i; //是未显式初始化的定义

extern int i; //声明

int i = 0; //定义

extern int i = 0; //定义

int fun()
{
    extern int i = 0; //错误
    return 0;
}

因此,如果想声明一个变量而不是定义他,可以用extern关键字标记。最好不要给extern标记的变量赋初始值,这样会抵消它的作用,会让这个变量变成定义。另外,也不要在函数体内部对extern 标记的变量初始化。

变量只能被定义一次,但是可以被声明多次。

相关文章:

  • devDependencies和dependencies的区别
  • 12、算法
  • 实时语义分割之FarSeeNet(2020)模型解析代码复现及滑坡检测实战
  • Linux----网络通信
  • WPS AI+office-ai的安装、使用
  • Linux查看TP6 command定时任务并重启
  • 一、Prometheus架构
  • table 拖拽移动
  • 广域互联网关键技术详解(GRE/LSTP/IPsec/NAT/SAC/SPR)
  • 文件上传复现
  • Office 2021 Mac Office办公
  • 【银河麒麟高级服务器操作系统实际案例分享】数据库资源重启现象分析及处理全过程
  • HTML5+CSS3+JS小实例:带缩略图的焦点图
  • vue组合式API中prop
  • 深入 Vue.js 组件开发:从基础到实践
  • 《张一鸣,创业心路与算法思维》
  • 准确--Centos最小化安装通过命令去修改ip和dns
  • 本地部署Dify及避坑指南
  • 【powerjob】 powerjobserver注册服务IP错误
  • uniapp+vue3搭建项目
  • 呼和浩特市城乡建设保障局网站/自媒体怎么做
  • 网站搭建公司排行榜/什么是网络销售
  • 昌平知名的网站制作建设报价/企业网站网页设计
  • ftp 修改网站/成都官网seo厂家
  • 最便宜的外贸网站建设/搜索引擎优化的目的是对用户友好
  • 网站建设网页制作教程/网络推广平台有哪些