【extern关键字】在C++中的应用

前言

本博客主要介绍C++中extern关键字的作用以及其具体用法。

一、extern作用

extern是一种“外部声明”的关键字,字面意思就是在此处声明某种变量或函数,在外部定义。特殊的点就在于extern处仅是声明而不是定义(不分配内存,不赋初值)。
extern关键字常见在C++文件中调用C语言的库函数,那么就需要在C++程序中用extern “C”声明要引用的函数,用来告诉链接器在链接的时候用C函数规范来链接。主要原因是C++和C程序编译完成后在目标代码中命名规则不同。
其他的,extern还可以用于修饰函数或变量,下面分开进行讲解。

二、extern修饰函数

举个extern修饰函数的例子,比如说main.cpp 想调用function.cpp 中的fun函数,有两种方法:

方法1:include 头文件,即直接 #include “function.h”

方法2: extern 方法 ,extern void fun(…)这句在main.cpp中使用,表示引用全局函数fun(),当然,函数默认是全局的。

两种方法都可以,但是方法1会引入大量头文件,进而引入大量无关函数,而方法2就能加速程序编译从而节省时间!

三、extern修饰变量

如果文件main.cpp需要引用function.cpp中变量int v,就可以在main.cpp中声明extern int v,然后就可以引用变量v。能够被其他模块以extern修饰符引用到的变量通常是全局变量。注意,extern int v可以放在main.cpp中的任何地方,具体作用范围和局部变量相同。

extern修饰变量的原理就是告诉编译器:现在编译的文件中,有一个标识符虽然没有在本文件中定义,但是它是在别的文件中定义的全局变量,正常通过!

总结

日拱一卒,功不唐捐!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值