C 语言中 extern 变量和 global 变量有什么区别

区别是:在C语言中 extern 是关键字,global 不是。一个变量是不是 global 变量是由作用域决定的,当变量在全局作用域中声明时,这个变量就是全局变量。当 extern 修饰一个变量时,就表明这个变量并不是在这里声明的。

C 语言中 extern 变量和 global 变量有什么区别-Worktile社区

在C语言中 extern 是关键字,global 不是。一个变量是不是 global 变量是由作用域决定的,当变量在全局作用域中声明时,这个变量就是全局变量。

当 extern 修饰一个变量时,就表明这个变量并不是在这里声明的。比如,你在头文件里声明了一个变量,那么为了在源程序中显得清楚明白,在源程序中应该加上一个 extern 修饰的该变量的声明。extern 也可以用于前向声明(Forward Declaration)。

除了变量以外,extern 也可以修饰函数。C 语言中常见的一个错误是 unresolved externals,这常常会由没有引用库文件导致,由此可推知库文件中的函数是用 extern 修饰的。

extern在这种情形中代表需要预留一个全局可见的符号。

全局的意思是在链接阶段可以找到这个符号,因为在链接中是没有非全局的符号的(静态局部变量是不需要留符号的,只需要标明所需空间既可)。

所以extern一个符号的含义与全局变量的含义的区别就如同符号和变量的区别,它们是不同层次的,也没有间接的关系。

延伸阅读:

什么是变量?

变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。

变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。

在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。

变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。例如,可以创建一个名为Click Count的变量来存储用户单击Web页面上某个对象的次数。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。

文章标题:C 语言中 extern 变量和 global 变量有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38570

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月17日 上午2:17
下一篇 2023年2月17日 上午2:20

相关推荐

  • 边缘计算与云计算的区别是什么

    边缘计算与云计算的区别在于以下几个方面:1、整体与局部;2、实时与长期;3、分散与集中;4、高能耗与低能耗。整体与局部是指,云计算把握整体,边缘计算更专注于局部。 一、整体与局部 云计算把握整体,边缘计算更专注于局部。 二、实时与长期 边缘计算更靠近设备端,靠近用户,着眼于实时、短周期数据的分析,以…

    2023年2月18日
    28800
  • 考试用的无储存记忆,编程功能的计算器是哪类计算器

    考试用的无储存记忆,编程功能的计算器是是科学型计算器。科学型计算器是电子计算器的一种,可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。 科学型计算器是电子计算器的一种,可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。 函数计算器(也称“科学计算器”…

    2023年2月13日
    44000
  • 千兆路由和百兆路由的区别

    千兆路由和百兆路由的区别有:1、网络端口不同;2、无线速率不同;3、芯片区别。路由器的端口分WAN口和LAN口,百兆端口和千兆端口指的是路由器的传输速率,千兆路由器的网络端口速率为1000Mbps,百兆路由器的端口是100Mbps。 1、网络端口不同 千兆路由器的网络端口速率为1000Mbps,百兆…

    2023年1月31日
    17200
  • 急求!低代码软件该如何选择?

    低代码平台的兴起改变了公司处理软件开发的方式。这些平台使组织能够快速高效地构建应用程序,该应用程序可以利用预设组件和开箱功能。但是,因为有这么多低代码平台可以使用,所以为你的组织选择合适的平台可能是一个挑战。本文将探索如何低代码平台哪家好?如何选择?

    2023年9月21日
    1300
  • 潜在因素模型和主成分分析有什么区别

    区别有:1、定义与概念;2、目标与作用;3、数学原理;4、应用领域;5、结果解释;6、与其他技术的关系。潜在因素模型和主成分分析在数据降维、特征提取和模型建立中都有着重要的作用,但它们在方法、目的和解释上存在显著的差异。 1、定义与概念 潜在因素模型(LFM):LFM试图找到隐含在观察数据后的变量,…

    2023年7月30日
    4800
  • 项目管理下事务和任务的区别

    区别在于:1、分配不同;2、时间不同;3、精力不同;4、计划不同。事务通常不需要分配给特定的人员或小组。在处理事务时,可以根据优先级来安排工作。任务需要分配给特定的人员或小组。分配任务需要考虑每个人的能力和可用性,以确保任务按时完成。 1、分配不同 事务通常不需要分配给特定的人员或小组。它们通常是一…

    2023年2月28日
    17500
  • 看板管理的原则是什么

    看板管理的原则是:1.后道工序的领取原则;2.前道工序的生产原则;3.不良品不送往后工序;4.均匀领取零部件原则;5.看板使用量减少原则;6.依赖看板进行作业原则。看板管理是一种生产的微调手段,它能够使各生产工序稳定化和合理化。 1.后道工序的领取原则 后道工序只在必要的时刻,才从前道工序领取必要数…

    2022年11月24日
    37300
  • 有哪些类似于MSProject的网络项目管理工具

    类似 Microsoft Project 的网络项目管理软件有:1、Worktile;2、PingCode;3、Asana;4、Zoho Projects;5、Monday;6、Smartsheet;7、Teamwork等。Worktile是国内项目管理总榜以及易用性榜中排名、评分较高的一款项目管理…

    2023年2月10日
    13500
  • 经验知识库平台有哪些

    常用的经验知识库平台有:一、Confluence;二、SharePoint;三、Freshdesk;四、ZenDesk;五、Salesforce;六、ServiceNow。Confluence是一个由Atlassian公司开发的企业知识库平台。它是一个基于Web的文档协作工具,可以帮助团队快速协作,…

    2023年6月11日
    14000
  • CDN有哪些优点

    CDN有5大优点:1、本地Cache加速,提高了企业站点(尤其h含有大量图片和静态页面站点)的访问速度;2、 跨运营商的网络加速,保证不同网络的用户都得到良好的访问质量;3、远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器; CDN的5大优点: (1)本地Cache加速,提高了企业站点…

    2022年10月12日
    21900

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部