首页 > 其他分享 >extern关键字的用法

extern关键字的用法

时间:2023-11-21 14:36:12浏览次数:27  
标签:函数 定义 用法 关键字 extern 声明 变量

  • extern关键字的理解

extern是C/C++语言中的一个关键字,用于声明一个变量或函数具有外部链接性(external linkage),即这些变量或函数可以被其他文件访问。

在C/C++中,如果我们需要在不同的源文件中共享变量或函数,可以使用extern关键字来声明变量或函数。当我们在一个源文件中声明一个变量或函数为extern时,实际上是告诉编译器该变量或函数已在其他源文件中定义。

  •    注意事项

1. 声明和定义分离:使用"extern"关键字声明一个变量或函数并不等于定义它。"extern"只是在当前文件中声明该变量或函数是在其他地方定义的。定义通常发生在其他文件中。

2. 变量和函数的重复声明:避免在多个地方重复声明同一变量或函数。多次使用"extern"关键字声明同一变量或函数可能会导致编译器发出警告或错误。
3. 数据类型和函数签名的一致性:在使用"extern"关键字声明变量或函数时,确保其数据类型和函数签名与实际定义的变量或函数的数据类型和函数签名一致。否则,可能会导致编译器错误或运行时错误。

4.避免重复定义:避免在多个文件中同时定义同一变量或函数。只需要在一个文件中定义,然后在其他文件中使用"extern"关键字声明。

5.声明在适当的位置:"extern"关键字的声明通常放置在函数外部的全局区域,或者放置在函数内部的局部区域。根据需要和上下文,选择适当的位置。

 

标签:函数,定义,用法,关键字,extern,声明,变量
From: https://www.cnblogs.com/Zhouce/p/17846516.html

相关文章

  • Keil(关闭 函数和关键字灰色下划线)
    例如: 原因是使用了keil自带的软件包,不使用用keil自带的库就没有了, 可以去Project==》Manage==》Run-TimeEnvironment把使用的软件包去掉勾选去掉勾选使用的CMSIS里的CORE,重新编译就可以了。......
  • Troubleshooting ‘Externally Managed Environment’ Error in Debian 12 Pip3 Insta
    https://medium.com/@kiena/troubleshooting-externally-managed-environment-error-in-debian-12-pip3-installation-439d62e5a970 WhenworkingwithPythononDebian12,youmayencounteranerrormessageregardingan‘ExternallyManagedEnvironment’.Thise......
  • day131- springboot 的配置文件yaml的用法
    springboot的配置文件yaml的用法yaml文件同properties文件一样,适合用来做数据为中心的配置文件基本语法key:value;kv之间有空格大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格缩进的空格数不重要,只要相同层级的元素左对齐即可'#'表示注释字......
  • shell 中| && || () {} 用法以及shell的逻辑与或非
    前面几个比较简单|管道符,基本用法就是command1|command2,就是把前面的输出作为后面的输入&&就是合并两个命令,第一个命令成功的话才会执行第二个命令||不管第一个命令成功与否,第二个命令始终执行(这里说错了,应该是第一个执行不成功,才会执行第二个)重点学习()运算......
  • explain 关键字
    1、如果type中显示为all,则说明该语句遍历了所有的行,并没有使用到索引;2、key中显示的是所用的索引;3、rows中显示的是预估的扫描行数,该值不是准确值;4、filtered中表示的是满足查询的记录数量占总查询数量的比例,注意是百分比;   参考文章:https://www.cnblogs.com/acm-bing......
  • yum localinstall用法
    yumlocalinstall命令安装本地rpm包。以下是具体使用方法:1.下载rpm包。在一台有网络的Linux虚拟机里执行以下命令,只下载所需要的软件包和依赖包,并将其存放到指定目录:bash yuminstall--downloadonly--downloaddir=/usr/local/rpms/vimvim这里的目录可以自行设......
  • java pdf数字签证(图片),根据关键字定位签证位置
    网上找了很多,最后还是结合了一下才能用。 用到的主要jar包:itextpdf-5.5.13.jar,bcprov-jdk15on-1.49.jar,bcpkix-jdk15on-1.50.jarmain测试:importjava.io.FileInputStream;importjava.io.FileOutputStream;importstaticweaver.interfaces.workflow.action.hrm.Test.PdfU......
  • 【Python入门教程】Python中函数的用法和意义
    ​        在Python中,函数是一种可重用的代码块,它可以被多次调用以执行特定的任务。函数可以帮助我们组织代码,使其更易于阅读和调试,同时还可以提高代码的可重用性和可维护性。一、函数的定义        在Python中,函数使用def关键字进行定义,语法如下:deffunctio......
  • WCH脱机烧写器 资料、级联用法
    脱机烧录器资料下载链接:脱机烧录器资料-沁恒微电子社区(wch.cn)以上是烧录器常规资料,包含(驱动文件、软件包、说明文件、辅助文件资料)等。其中脱机烧录器支持机器烧录模式,可以用于连接控制机台实现自动烧写,但是机器信号也可以用于PCBA的烧写状态指示(可以实现多块板同时烧写)......
  • FromRoute、FromQuery、FromBody 用法
    .NETWebAPI基础FromRoute、FromQuery、FromBody用法 合集-.NET(23) 1..NETCore环境搭建2022-03-162..NetCoreIOCDI(依赖注入)2022-03-163..NETCore读取配置技巧-IOptions<TOptions>接口2022-05-254..NetCore依赖注入(IOC)一些简单的使用技巧2022-05-065.......