当前位置:首页 > 大杂烩 > 正文内容

c++ extern,extern作用,extern关键字,extern声明,extern使用

高老师5年前 (2020-03-13)大杂烩1540

c++ extern的作用通俗来说的作用就是:

可以在一个文件中引用另一个文件中定义的变量或者函数

(1).先看引用同一个文件中的变量

#include <iostream>
using namespace std;

int main()
{

    std::cout << a;
    
    return 0;
}
int a = 100;

很明显上面的代码中我们不可能输出变量a的值,除非我们把int a =100放在最上面,但是我们不会那么做,我们是用extern来测试效果的,通过extern引用最下面的int a =100;

#include <iostream>
using namespace std;

int main()
{

    extern int a;
    
    std::cout << a;
    
    return 0;
}
int a = 100;

(2).再看引用其他文件中的变量

创建main.cpp

#include <iostream>
using namespace std;

int main()
{

    extern int a;
    
    std::cout << a;
    
    return 0;
}

创建other.cpp

#include <iostream>
using namespace std;

int a = 100;

int other()
{
    std::cout << "this is other func";
    
    return 0;
}

编译执行,正常运行。切记,引用其他文件中变量,这个变量在其他文件中必须是全局变量

(3).再看引用其他文件中的函数

创建main.cpp

#include <iostream>
using namespace std;

int main()
{

    extern int other();
    
    std::cout << other();
    
    return 0;
}

创建other.cpp

int other() 
{
    return 110;
}

编译执行,正常运行。切记,引用其他文件中变量,这个变量在其他文件中必须是全局变量

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/545.html

分享给朋友:

“c++ extern,extern作用,extern关键字,extern声明,extern使用” 的相关文章

PHP安装mongodb扩展

PHP安装mongodb扩展

在安装之前我们先看看官方给出的依赖关系.首先是dll文件和mongodb软件的依赖关系然后是PHP文件和dll的依赖关系我的是phpstudy的集成环境PHP5.4.45 NTS+Apache+Mysql【一】.安装mongodb3.0软件对比依赖关系下载mongodb3.0.msi软件,完整名称:...

Git从远程仓库更新文件

Git从远程仓库更新文件

 git   pull  https://git.oschina.net/392223903/learn.git   master   换为您的git地址...

Git日志查看和版本切换

Git日志查看和版本切换

日志查看:git log版本切换:方式1:git  reset  --hard  HEAD^   倒退一个版本git  reset  --hard  HEAD^^  倒退两个版本方式2:(版本号的形式,建议版本号码补充完...

C# md5加密,C# md5加密代码

C# md5加密,C# md5加密代码

public static string GetMD5(string str) {     //创建MD5对象     MD5 md5 = MD5.C...

IIS7.0无法加载CSS的处理办法

IIS7.0无法加载CSS的处理办法

首先网页全部是纯静态的文件,本地测试正常访问,服务器端无法加载CSS,并且无法查看CSS文件的内容。 解决方案:关闭网站的压缩->>静态压缩和动态压缩...

redis安装教程

redis安装教程

1.文件redis-2.6.14.tar.gz的上传 /home/john/创建rdtar文件夹 上传redis-2.6.14.tar.gz至rdtar文件夹  2.解压文件  cd /home/john/rdtar tar &n...