C语言经典100例题(44)--学习使用extern的用法。

news2025/1/13 13:16:51

目录

题目

问题分析

代码

运行结果


题目

题目:学习使用extern的用法。 

问题分析

extern int i; //定义全局变量 i

        上述代码语句,extern告诉编译器,变量i是在程序中的其他位置定义的(很有可能是在不同的源文件中),因此不需要为i分配空间。extern可以用于所有类型的变量。在数组的声明中使用extern的时候,可以省略数组的长度。例如:extern int a[] ;因此编译器不用为数组a分配空间,所以也就不需要知道数组a的长度了。

        为了在几个源文件中共享变量i,首先把变量i的定义放置在一个文件中:int  i; 如果需要对变量i初始化,可以把初始化式放在这里。在编译这个文件时,编译器会为变量i分配内存空间,而其他文件将包含变量i的声明: extern int i;通过在每个文件中声明变量i,使得在这些文件中可以访问或修改变量i。由于关键字extern的存在,编译器不会在每次编译这些文件时为变量i分配额外的空间。

声明:用来告诉编译器变量的名称和类型,而不分配内存,不赋初值

定义:为了给变量分配内存,可以为变量赋初值

声明可以多次,定义只能一次!声明可以多次,定义只能一次!

代码

#include "stdio.h"
int  a, b, c;
void add()
{
	int a;
	a = 3;
	c = a + b;
}
void main()
{
	a = b = 4;
	add();
	printf("The value of c is equal to %d\n", c);
}

运行结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自定义Dynamics 365实施和发布业务解决方案 - 7. 报表

在每个组织中,决策者都依赖于各种报告来推动业务取得成功。因此,每个软件开发项目都需要开发报告,Dynamics365配备了最先进的报告功能。这些报告的范围从简单的查询到具有复杂查询的更高级的报告。此外,Dynamics365的一个关键功能是其仪表板功能,它提供了一些不错的数据可…

防雷检测综合技术方案

雷电是一种自然现象,具有极高的电压、电流和能量,对人类的生命财产安全构成严重威胁。为了有效地防止或减轻雷电灾害的危害,建筑物需要安装合理的防雷装置,以拦截或引导雷电流,保护建筑物内部的人员和设备。然而&#…

戳泡泡小游戏

欢迎来到程序小院 戳泡泡 玩法: 鼠标点击上升的起泡泡,点击暴躁记录分数,不要让泡泡越过屏幕,共有三次复活生命,会有随机星星出现,点击即可暴躁全屏哦^^。开始游戏https://www.ormcc.com/play/gameStart/1…

【笔试强训选择题】Day39.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&#xff…

深圳寄墨西哥专线国际快递详解

随着全球贸易的不断发展,国际快递服务的需求也越来越大。深圳这座中国的特区城市,不仅是全球电子产品供应链的重要节点,也是国际快递服务的中心之一。对于那些需要将物品从深圳邮寄到墨西哥的人来说,深圳邮寄到墨西哥专线是他们不…

记录在windows下安装MySQL所遇到的各种坑

1.下载 从官网下载installer 然后开始选择要安装的组件 安装了很久进度都是0,无奈点击show detail以后发现,webclient异常,最后是将链接地址复制到迅雷才成功下载的 等迅雷下载完成以后,会看到有如下2个新msi文件 msi都是windows…

手机照片怎么拼图?分享几种拼图小技巧

当我们有很多照片想要展示,但是单独的每一张照片都不足以表达我们想要传达的信息时,我们会把这些照片拼在一起,以形成一张照片墙或者一张拼贴画。这样不仅可以更好地展示我们想要表达的内容,还可以在视觉上创造出更多的艺术效果和…

100个ArcGIS属性查询公式

这里说的ArcGIS属性查询公式,其本质是在ArcMap中通过属性分析查询数据时,为数据库的SQL查询语句构建查询条件。 因此,这里所谓的查询公式,其实是查询条件,希望它能在你处理地图数据的工作中,为你提升些许工…

微服务架构的现状与未来:服务网格与云原生趋势解析

文章目录 微服务架构的崛起服务网格的崭露Istio和EnvoyLinkerd 云原生技术的崭露KubernetesHelm 未来趋势更强大的服务网格更智能的自动化更紧密的云原生集成 结论 🎉欢迎来到AIGC人工智能专栏~微服务架构的现状与未来:服务网格与云原生趋势解析 ☆* o(≧…

(十一)Springboot+ElasticSearch8整合

前言 在 Elasticsearch7.15版本之后,Elasticsearch官方将它的高级客户端 RestHighLevelClient标记为弃用状态。推出全新的 Java API客户端 Elasticsearch Java API Client,该客户端也将在 Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。 1.导…

【nosql】redis之高可用(主从复制、哨兵、集群)搭建

redis群集有三种模式 redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster集群,下面会讲解一下三种模式的工作方式,以及如何搭建cluster群集 ●主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从…

c#查看代码的执行耗时( Stopwatch )

我们如果需要看某段代码的执行耗时&#xff0c;会通过如下的方式进行查看 using System.Diagnostics; private void button1_Click(object sender, EventArgs e){Stopwatch sw Stopwatch.StartNew();//sw.Start();StringBuilder sb new StringBuilder();for(int i 0; i <…

云数据中心需要加密密钥的解决方案

云数据中心的加密密钥解决方案是确保数据的保密性和安全性的重要组成部分。以下是一些常见的加密密钥解决方案&#xff1a; 对称密钥加密&#xff1a;对称密钥加密是一种常见的加密方法&#xff0c;使用相同的密钥对数据进行加密和解密。在云数据中心中&#xff0c;可以使用对称…

Matlab进阶绘图第29期—三角热图

三角热图&#xff0c;顾名思义&#xff0c;就是仅保留热图数据矩阵的上三角或下三角部分。 三角热图简单明了&#xff0c;通过不同颜色表示数据的大小&#xff0c;可以更加直观地对矩阵数据进行可视化表达。 由于Matlab中未收录三角热图的绘制函数&#xff0c;因此需要大家自…

Python编程练习与解答 练习140:邮政编码

加拿大邮政编码的第一、三和五个字符是字母&#xff0c;第二四六个字符是数字。地址所在的省和地区可以根据邮政编码的第一个字符来确定&#xff0c;如下表所示。目前有效的邮政编码不以D、F、I、O、Q、U、W、Z开头&#xff0c; 邮政编码中第二个字符标识是农村还是城市。如果…

947. 移除最多的同行或同列石头

947. 移除最多的同行或同列石头 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 947. 移除最多的同行或同列石头 https://leetcode.cn/problems/most-stones-removed-with-same-row-or-column/description/ 完成…

基于Flask+websocket实现一个在线聊天室网站系统

在今天的互联网时代&#xff0c;实时通信成为了许多应用和服务的核心特色。从社交媒体到在线游戏&#xff0c;无处不在的即时互动为用户带来了难以置信的沉浸体验。有了这种背景&#xff0c;为何不深入了解如何构建自己的实时聊天应用呢&#xff1f;在本文中&#xff0c;我们将…

数字化转型对企业有哪些优势?

数字化转型为企业提供了众多优势&#xff0c;帮助他们在日益数字化的世界中保持竞争力、敏捷性和响应能力。以下是一些主要优势&#xff1a; 1.提高效率和生产力&#xff1a; 重复性任务和流程的自动化可以减少人为错误&#xff0c;并使员工能够专注于更具战略性的任务。简化…

管理类联考——数学——汇总篇——知识点突破——应用题——不定方程

&#x1f44a; 当方程或方程组种未知数较多&#xff0c;而无法通过解方程的角度来确定数值&#xff0c;这种方程称为不定方程。不定方程必须结合所给的一些性质&#xff0c;如整除、奇数偶数、质数合数、范围大小等特征才能确定答案。 ⛲️ 一、考点讲解 不定方程特征 在应…

CSS:隐藏移动端的滚动条的方式

目录 方式一&#xff1a;-webkit-scrollbar方式二&#xff1a;overflow方式三&#xff1a;clip-path方式四&#xff1a;mask 遮罩总结参考 移动端开发中&#xff0c;有一个横向滚动元素&#xff0c;产品告诉我不需要滚动条&#xff0c;我说这个简单&#xff0c;隐藏一下不就行了…