【C】extern 关键字

目录

    • extern
      • 1)基本概念
      • 2)用法1:声明全局变量
      • 3)用法2:声明函数
      • 4)用法3:在头文件中使用 extern

extern

1)基本概念

extern 是C语言的一个关键字。

extern 用于声明在其他源文件中定义的变量或函数,以便在当前文件中使用。

2)用法1:声明全局变量

当我们在一个源文件中定义了一个全局变量,并且想在其他源文件中使用它时,可以在其他文件中使用 extern 来声明这个变量。

// File1.c
int globalVar = 42;  // 定义全局变量// File2.c
extern int globalVar;  // 在另一个文件中声明全局变量

这样,File2.c 就可以使用 globalVar,而不需要重新定义它。

3)用法2:声明函数

同样,extern 可以用于声明一个在其他源文件中定义的函数。

// File1.c
void myFunction() {// 函数实现
}// File2.c
extern void myFunction();  // 在另一个文件中声明函数

这样,File2.c 就可以调用 myFunction,而不需要重新定义它。

4)用法3:在头文件中使用 extern

extern 经常与头文件一起使用,以便在多个源文件中共享声明。这有助于避免在多个文件中重复定义相同的变量或函数。

// File1.h
#ifndef FILE1_H
#define FILE1_Hextern int sharedVariable;  // 在头文件中声明全局变量void sharedFunction();  // 在头文件中声明函数#endif  // FILE1_H
// File1.c
#include "shared.h"int sharedVariable = 42;  // 定义全局变量void sharedFunction() {// 函数实现
}
// File2.c
#include "shared.h"// 可以使用 sharedVariable 和 sharedFunction

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

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

相关文章

统计学-R语言-2.1

文章目录 前言安装过程总结 前言 上篇文章介绍了统计学-R语言的介绍,本篇文章介绍如何安装R软件。 安装过程 可以登录官网,https://www.r-project.org/,点击此处跳转。 点进去下滑找到China,之后找任意一个链接地址进行下载即可。 我点的是…

【Harmony OS - 消息通知】

应用可以通过接口发送通知消息,提醒用户关注应用中的变化。用户可以在通知栏查看和操作通知内容,通常用于当应用处于后台时,发送,本文主要来介绍在Harmony OS中的三种消息通知。 基础通知 总体流程有三步: 导入noti…

确定了!软考中级「集成」、「监理」新版教程有哪些变化?

新版教程改了哪些内容?2024上半年软考应该如何备考? 准备考24年上集成的朋友们,先不要慌!备考脚步不要乱,改版可能还是好事呢,难度可能会降点? 2024年教程改版科目: ✔软考中级-集…

ARM汇编指令

数据和指令类型 ARM采用的是32位架构 ARM约定: Byte:8 bits Halfword:16 bits (2 byte) Word:32 bits (4 byte) Doubleword:64-bits(8byte) (Cortex-A处理器) 大部分ARM core …

优化改进YOLOv5算法之Deformable Attention,效果秒杀CBAM和CA等

目录 1 Deformable Attention模块原理 2 YOLOv5中加入Deformable Attention模块 2.1 common.py文件配置 2.2 yolo.py配置

由于找不到msvcp140.dll无法继续执行代码原因及解决教程分享

在计算机打开软件过程,我们经常会遇到一些错误提示,其中之一就是“由于找不到msvcp140.dll无法继续执行代码”。这个错误通常发生在使用Microsoft Visual C 2015或更高版本编译的程序运行时。那么,什么是msvcp140.dll文件?为什么会…

59.螺旋矩阵II

class Solution { public:vector<vector<int>> generateMatrix(int n) {//二维数组初始化 // int dis[4][4]{{-1,0},{1,0},{0,-1},{0,1}};int dis[4][4]{{0,1},{1,0},{0,-1},{-1,0}};//右下左上 0,1,2,3//cout<< dis[0][0]<<" "<<dis…

定制耐酸碱移液吸头PFA移液枪头可重复使用

移液枪是移液器的一种&#xff0c;常用于实验室少量或微量液体的移取&#xff0c;规格不同&#xff0c;不同规格的移液枪配套使用不同大小的枪头&#xff0c;不同生产厂家生产的形状也略有不同&#xff0c;但工作原理及操作方法基本一致。移液枪属精密仪器&#xff0c;使用及存…

C++函数(3)

纯粹素数 题目描述&#xff1a;纯粹素数是这样定义的&#xff1a;一个素数&#xff0c;去掉最高位&#xff0c;剩下的数仍为素数&#xff0c;再去掉剩下的数的最高位&#xff0c;余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于3000的四位的纯粹素…

电脑可以连接网络但浏览器无法访问部分或全部网页

啾咪&#xff01;离大谱了&#xff0c;电脑一段时间没有用&#xff0c;最近打开却发现可以连接网络但是无法访问部分网页&#xff08;如CSDN&#xff09;&#xff0c;显示如下&#xff1a; 有三种解决方法&#xff1a; &#xff08;1&#xff09;清除DNS缓存 步骤&#xff1a;…

离散数学3

补变元 解释&#xff1a;它是以反^作为一组一组的&#xff0c;因此&#xff0c;对于P反^Q来说&#xff0c;P是一组&#xff0c;Q是一组&#xff0c;又有以下&#xff1a;对缺少变元的项要补齐&#xff0c;P缺少Q&#xff0c;Q缺少P。因此&#xff0c;补齐。 用分配律展开 解释&…

useEffect监听多个变量

useEffect监听了多个变量怎么办&#xff1f; 前言 如何监听多个变量&#xff1f;在React开发中经常会遇到的问题。随着应用复杂性的增加&#xff0c;组件中可能涉及多个状态的变化&#xff0c;根据这种变化可以做相应的业务&#xff0c;这时候监听就变得很有必要了。 常见的…

C#,入门教程(15)——类(class)的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(14)——字符串与其他数据类型的转换https://blog.csdn.net/beijinghorn/article/details/124004562 物以类聚&#xff0c;凡物必类。 类的使用&#xff0c;须遵循几个简单的原则&#xff1a; &#xff08;1&#xff09;能类则类&a…

系统学习Python——警告信息的控制模块warnings:测试警告

分类目录&#xff1a;《系统学习Python》总目录 要测试由代码引发的警告&#xff0c;我们可以采用catch_warnings上下文管理器。有了它&#xff0c;就可以临时改变警告过滤器以方便测试。例如&#xff0c;以下代码可捕获所有的警告以便查看&#xff1a; import warningsdef fx…

使用 Ant Design Pro 的图表(展示cpu、内存、硬盘)

文章目录 使用 Ant Design Pro 的图表&#xff08;展示cpu、内存、硬盘&#xff09;一、Ant Design Charts 图表二、快速上手三、ant design chart 图表类型StatisticCard 指标卡结合 Ant Design Charts 图表库丰富数值内容&#xff0c;满足大多数数值展示的场景什么是水波图&a…

鸿蒙原生应用再添新丁!万达 入局鸿蒙

鸿蒙原生应用再添新丁&#xff01;万达 入局鸿蒙 来自 HarmonyOS 微博1月11日消息&#xff0c;#万达酒店及度假村启动鸿蒙原生应用及元服务开发# 作为具有中国特色的国牌服务酒店标杆之一&#xff0c;万达酒店及度假村Wanda 将带来全新的服务和交互方式&#xff0c;一步获取“…

网络之路28:二层链路聚合

正文共&#xff1a;1666 字 14 图&#xff0c;预估阅读时间&#xff1a;2 分钟 目录 网络之路第一章&#xff1a;Windows系统中的网络 0、序言 1、Windows系统中的网络1.1、桌面中的网卡1.2、命令行中的网卡1.3、路由表1.4、家用路由器 网络之路第二章&#xff1a;认识企业设备…

计算机的中断

将用户态转换为内核态 系统调用&#xff1a;应用程序向OS发出服务请求异常&#xff1a;不良的应用程序的非法指令中断&#xff1a;来源于外部设备&#xff0c;即不同的硬件设备的计时器和网络中断&#xff0c;其对应用程序是透明的 应用调用外设 应用——>OS——>外设…

微信小程序如何使用天地图的逆地理编码api

本文只介绍如何使用天地图api&#xff0c;如若要显示天地图&#xff0c;使用 web-view 天地图逆地理编码api 1、使用wx.request 发送请求 getLocation() {wx.getLocation({type: gcj02,success: (res) > {// 调用天地图逆地理编码apithis.initTianDiMap(res.longitude, re…