写点什么

C++ | 关于 extern 关键字的使用

作者:YOLO.
  • 2022 年 10 月 09 日
    河北
  • 本文字数:674 字

    阅读完需:约 2 分钟

前言:

extern 是 C++中的一个关键字,它可以放在变量或者函数前,用来表示这个变量或者函数的定义在别的文件中,提示编译器如果遇到这个变量或者函数,就去别的文件中找它的定义。

extern 变量:

正常的在一个源文件中定义的变量和函数只能被本源文件中的函数调用,但是一个 C++程序中会有许多源文件,为了要解决使用非本源文件中的全局变量,C++就提供了 extern 关键字来解决这个问题。在使用其他源文件中的全局变量时,只需要在本源文件中使用 extern 关键字来声明这个变量即可。下面是关于 extern 使用的例子。

例如:

//在test1.cpp源文件中定义全局变量a、b、cint a,b;//外部变量定义char c;//外部变量定义void main(){    cout<<a<<endl;    cout<<b<<endl;    cout<<c<<endl;}//在test2.cpp源文件中要使用test1.cpp源文件中的全局变量a、b、cextern int a,b;extern int c;func (int x, int y){    cout<<a<<endl;    cout<<b<<endl;    cout<<c<<endl;}
复制代码

test2.cpp 源文件中,编译系统不再为全局变量 a、b、c 分配内存空间,而是使用或改变全局变量 a、b、c 的值,如果在 test2.cpp 中改变全局变量 a、b、c 的值的话,那么 test1.cpp 源文件中输出的值也会发生变化。

extern 函数声明:

extern 除了修饰变量外,还可以修饰函数声明。extern 出现在函数声明前,表示这个函数在其他文件中定义,与修饰变量的功能是一样的。

extern "C":

有时会在 C++程序中看到 extern "C"{}的使用情况,这是一种特殊的用法。extern "C"中的 C,表示一种编译和连接归约,表示符合 C 语言的编译和连接规约的任何语言。实现 C 和 C++的混合编程,让 C++程序可以和 C 语言程序采用一种语法形式。

发布于: 刚刚阅读数: 4
用户头像

YOLO.

关注

还未添加个人签名 2022.05.06 加入

还未添加个人简介

评论

发布
暂无评论
C++ | 关于extern关键字的使用_qt_YOLO._InfoQ写作社区