位置: IT常识 - 正文

extern关键字的作用

编辑:rootadmin

extern关键字的作用是extern是指当前变量或函数不是本源文件内声明的,它是外部变量和外部函数。当我们在本文件中试图引用一个外部声明的全局变量或者函数的时候,可以在其前面加上extern。
626763922extern关键字的作用

  
  extern可以修饰变量和函数,表示该变量或函数在其他的地方被定义(本源文件或其他源文件),在这里声明使用它,这样多个源文件共享变量和函数;多个C源文件的编译是独立的,所以编译器无法判断多个源文件共享的变量的类型是否一致(只能判断变量名和函数名是否一致);等到链接的时候(这个阶段已经不再进程语法检查了),多个源文件编译后的。O文件链接成一个目标文件,如果有一个以上源文件对同一变量进行了初始化则报错。
  
  1、extern变量名,在任何函数体外声明或定义变量时,不加extern可能是定义也可能是声明,编译器选择初始化的那个(最多一个地方对它进行了初始化),如果没有初始化则任选其中一个作为定义,其他为声明,但是加extern肯定是声明;如果不想让其它源文件链接到,则需要使用static关键字。
  
  2、extern 函数,函数默认是外部的(在函数体内或函数体外声明一个外部函数,extern关键字均可以省略)如果不想让其他源文件链接到,在函数前加static关键字。在写程序的时候一定要注意外部函数的参数类型、参数个数和返回值类型,最好保持一致
  
  宏观的理解:通过上面的分心来看,C程序里,通过函数将功能区分开来。每个函数完成一个功能,而又将一片相关联的功能集合在一个源程序里,这些功能和相关联的功能之间通常要有联系,而这种练习就是通过static和extern进行联系的。
  
  

本文链接地址:https://www.jiuchutong.com/zhishi/182870.html 转载请保留说明!

上一篇:怎么关闭手机拦截功能(怎么关闭手机拦截提示)

下一篇:12.4.1系统更新了什么(12.4.1更新了什么)

  • Applewatchseries6为什么亮绿灯(iwatch6aqi)

    Applewatchseries6为什么亮绿灯(iwatch6aqi)

  • 淘宝扣分会多久清零(淘宝被扣分了多久才能销掉)

    淘宝扣分会多久清零(淘宝被扣分了多久才能销掉)

  • 安装描述文件会中毒吗(安装描述文件会有风险吗)

    安装描述文件会中毒吗(安装描述文件会有风险吗)

  • 苹果手机能上两个微信吗(苹果手机能上两个微信号吗怎么弄)

    苹果手机能上两个微信吗(苹果手机能上两个微信号吗怎么弄)

  • QQ资料辅助验证一直错误(qq资料辅助验证什么意思)

    QQ资料辅助验证一直错误(qq资料辅助验证什么意思)

  • 苹果12.4.6系统有什么功能(苹果12现在的系统)

    苹果12.4.6系统有什么功能(苹果12现在的系统)

  • 话费充到副卡上怎么办(话费充到副卡上能用吗)

    话费充到副卡上怎么办(话费充到副卡上能用吗)

  • 腾讯会议录屏的视频在哪里可以找到(腾讯会议录屏的时候能切换界面吗)

    腾讯会议录屏的视频在哪里可以找到(腾讯会议录屏的时候能切换界面吗)

  • 为什么按空格键后面的字被删掉了(为什么按空格键下划线不出来)

    为什么按空格键后面的字被删掉了(为什么按空格键下划线不出来)

  • word文字填充色怎么设置(word文档填充字体颜色快捷键)

    word文字填充色怎么设置(word文档填充字体颜色快捷键)

  • iphone11promax能不能反向充电(苹果11pro max能支持无线充电吗)

    iphone11promax能不能反向充电(苹果11pro max能支持无线充电吗)

  • 我的相册如何恢复(相册相片怎么恢复)

    我的相册如何恢复(相册相片怎么恢复)

  • 在相片上画圈圈怎么弄(怎么在相片上画圆圈)

    在相片上画圈圈怎么弄(怎么在相片上画圆圈)

  • iphone4s花屏怎么办(苹果4花屏了怎么办)

    iphone4s花屏怎么办(苹果4花屏了怎么办)

  • 拼多多里面旺旺号在哪(拼多多里面旺旺是正品吗)

    拼多多里面旺旺号在哪(拼多多里面旺旺是正品吗)

  • 苹果手机数据怎么转移到华为手机(苹果手机数据怎么传到电脑)

    苹果手机数据怎么转移到华为手机(苹果手机数据怎么传到电脑)

  • 学信网身份证号码重复怎么办(学信网身份证号码x怎么输入)

    学信网身份证号码重复怎么办(学信网身份证号码x怎么输入)

  • 微博热搜榜为什么刷不了(微博热搜榜为什么有一个置顶)

    微博热搜榜为什么刷不了(微博热搜榜为什么有一个置顶)

  • vivoz3支持nfc吗(vivoiqooz3手机支持nfc吗)

    vivoz3支持nfc吗(vivoiqooz3手机支持nfc吗)

  • 手机积分在哪里查看(手机积分在哪里查可以兑换东西)

    手机积分在哪里查看(手机积分在哪里查可以兑换东西)

  • 怎么显示手机电量数字(怎么显示手机电量)

    怎么显示手机电量数字(怎么显示手机电量)

  • 资源管理器一直重启(资源管理器一直弹出)

    资源管理器一直重启(资源管理器一直弹出)

  • Google谷歌浏览器Post请求预见strict-origin-when-cross-origin跨域问题的 解决办法(google谷歌浏览器下载电脑版)

    Google谷歌浏览器Post请求预见strict-origin-when-cross-origin跨域问题的 解决办法(google谷歌浏览器下载电脑版)

  • 实收资本印花税是一年一交吗
  • 消费税到底是什么
  • 有形动产租赁服务属于现代服务吗
  • 小规模交社保有人数限制吗
  • 应付利息增加会计分录
  • 金税盘问题
  • 总资产报酬率的公式
  • 社保当月增员次月扣费
  • 拍卖公司都要交前期费用吗?
  • 个人住房转让纳税标准
  • 烟叶收购方案制定步骤
  • 报销油费如何写摘要及会计分录怎么做?
  • 跨月的普票怎么作废从系统里作废
  • 购买办公用品账务处理
  • 出口退税征税
  • 债权债务转让税务问题
  • 注销一定要去营业厅吗
  • 小微企业增值税税率
  • 一年内到期的应收质保金
  • 固定资产清理会计处理例题
  • 非绑定账户转入啥意思
  • 计提工资时需要附工资表吗
  • 社保支付账号是什么
  • 企业计提的坏帐会计分录
  • macbook如何安装
  • 电费预提费用
  • 怎么进入bios设置界面设置内存
  • 设置bios 密码
  • 如何阻止win10升级到win11
  • php教程 ftp 函数
  • 彻底清理缓存
  • 资产减值损失属于损益类的收入还是费用
  • 公司登记注册费每年都要交吗
  • CNN+LSTM+Attention实现时间序列预测(PyTorch版)
  • 权重函数公式
  • vue设置背景图片透明度
  • html动画教程
  • 超参数及其作用
  • 一次性伤残就业补助金
  • 代开专票时缴纳的增值税账务处理如何做?
  • 织梦怎么导入数据库
  • 让渡资产属于什么
  • 财政总预算会计的特点
  • 应收账款红冲什么意思
  • 如果删除申报记录会怎么样
  • 增值税税务检查
  • 有销项没有进项怎么做分录
  • 汇算清缴时发现收入少了
  • 接受投资的固定资产按什么入账
  • 收到支付宝认证怎么做账
  • 发票入账的时候能作废吗
  • 二手车融资租赁被骗怎么投诉
  • 补偿款怎么写才能有效
  • 新办企业必须经过什么核准登记
  • 计算机二级考试一年考几次
  • windows server 2008文件共享服务器
  • win7 组织
  • 解析包错误怎么解除
  • gnu linux编程指南
  • centos7.4安装
  • Win7系统如何查看隐藏文件
  • windows10使用说明
  • win10 自带
  • win10系统如何打开
  • 系统自带邮件
  • cocos按钮点击事件
  • js设置图片宽度
  • css怎么控制图片位置
  • 浅谈jQuery中Ajax事件beforesend及各参数含义
  • Android -- service两种启动方式startService与bindService
  • 网页过关类游戏
  • unity类库
  • 前后端调用
  • Android中dip、dp、sp、pt和px的区别
  • mysql里多表查询语句怎么写
  • python popt
  • 房产交契税网上可以交吗
  • 海关进口增值税如何入账
  • 上海地铁发票可以随便要吗
  • 威海行风热线实时收听
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设